import numpy as np
import sympy as sp
from sympy import Matrix, I, S, sqrt

group_element = [
    "iden",
    "c4x",
    "c2x",
    "c4x^-1",
    "c4y",
    "c2y",
    "c4y^-1",
    "c4z",
    "c2z",
    "c4z^-1",
    "c3delta",
    "c3delta^-1",
    "c3gamma",
    "c3gamma^-1",
    "c3beta",
    "c3beta^-1",
    "c3alpha",
    "c3alpha^1",
    "c2e",
    "c2f",
    "c2c",
    "c2d",
    "c2a",
    "c2b",
    "riden",
    "rc4x",
    "rc2x",
    "rc4x^-1",
    "rc4y",
    "rc2y",
    "rc4y^-1",
    "rc4z",
    "rc2z",
    "rc4z^-1",
    "rc3delta",
    "rc3delta^-1",
    "rc3gamma",
    "rc3gamma^-1",
    "rc3beta",
    "rc3beta^-1",
    "rc3alpha",
    "rc3alpha^1",
    "rc2e",
    "rc2f",
    "rc2c",
    "rc2d",
    "rc2a",
    "rc2b",
    "inviden",
    "invc4x",
    "invc2x",
    "invc4x^-1",
    "invc4y",
    "invc2y",
    "invc4y^-1",
    "invc4z",
    "invc2z",
    "invc4z^-1",
    "invc3delta",
    "invc3delta^-1",
    "invc3gamma",
    "invc3gamma^-1",
    "invc3beta",
    "invc3beta^-1",
    "invc3alpha",
    "invc3alpha^1",
    "invc2e",
    "invc2f",
    "invc2c",
    "invc2d",
    "invc2a",
    "invc2b",
    "invriden",
    "invrc4x",
    "invrc2x",
    "invrc4x^-1",
    "invrc4y",
    "invrc2y",
    "invrc4y^-1",
    "invrc4z",
    "invrc2z",
    "invrc4z^-1",
    "invrc3delta",
    "invrc3delta^-1",
    "invrc3gamma",
    "invrc3gamma^-1",
    "invrc3beta",
    "invrc3beta^-1",
    "invrc3alpha",
    "invrc3alpha^1",
    "invrc2e",
    "invrc2f",
    "invrc2c",
    "invrc2d",
    "invrc2a",
    "invrc2b",
]

OhD_Multiply_table = [
    [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10,
        11,
        12,
        13,
        14,
        15,
        16,
        17,
        18,
        19,
        20,
        21,
        22,
        23,
        24,
        25,
        26,
        27,
        28,
        29,
        30,
        31,
        32,
        33,
        34,
        35,
        36,
        37,
        38,
        39,
        40,
        41,
        42,
        43,
        44,
        45,
        46,
        47,
        48,
        49,
        50,
        51,
        52,
        53,
        54,
        55,
        56,
        57,
        58,
        59,
        60,
        61,
        62,
        63,
        64,
        65,
        66,
        67,
        68,
        69,
        70,
        71,
        72,
        73,
        74,
        75,
        76,
        77,
        78,
        79,
        80,
        81,
        82,
        83,
        84,
        85,
        86,
        87,
        88,
        89,
        90,
        91,
        92,
        93,
        94,
        95,
    ],
    [
        1,
        2,
        27,
        0,
        10,
        18,
        12,
        15,
        43,
        17,
        20,
        9,
        45,
        7,
        4,
        23,
        6,
        22,
        8,
        5,
        38,
        16,
        35,
        37,
        25,
        26,
        3,
        24,
        34,
        42,
        36,
        39,
        19,
        41,
        44,
        33,
        21,
        31,
        28,
        47,
        30,
        46,
        32,
        29,
        14,
        40,
        11,
        13,
        49,
        50,
        75,
        48,
        58,
        66,
        60,
        63,
        91,
        65,
        68,
        57,
        93,
        55,
        52,
        71,
        54,
        70,
        56,
        53,
        86,
        64,
        83,
        85,
        73,
        74,
        51,
        72,
        82,
        90,
        84,
        87,
        67,
        89,
        92,
        81,
        69,
        79,
        76,
        95,
        78,
        94,
        80,
        77,
        62,
        88,
        59,
        61,
    ],
    [
        2,
        27,
        24,
        1,
        20,
        8,
        45,
        23,
        29,
        22,
        38,
        17,
        40,
        15,
        10,
        37,
        12,
        35,
        43,
        18,
        28,
        6,
        33,
        31,
        26,
        3,
        0,
        25,
        44,
        32,
        21,
        47,
        5,
        46,
        14,
        41,
        16,
        39,
        34,
        13,
        36,
        11,
        19,
        42,
        4,
        30,
        9,
        7,
        50,
        75,
        72,
        49,
        68,
        56,
        93,
        71,
        77,
        70,
        86,
        65,
        88,
        63,
        58,
        85,
        60,
        83,
        91,
        66,
        76,
        54,
        81,
        79,
        74,
        51,
        48,
        73,
        92,
        80,
        69,
        95,
        53,
        94,
        62,
        89,
        64,
        87,
        82,
        61,
        84,
        59,
        67,
        90,
        52,
        78,
        57,
        55,
    ],
    [
        3,
        0,
        1,
        26,
        14,
        19,
        16,
        13,
        18,
        11,
        4,
        46,
        6,
        47,
        44,
        7,
        21,
        9,
        5,
        32,
        10,
        36,
        17,
        15,
        27,
        24,
        25,
        2,
        38,
        43,
        40,
        37,
        42,
        35,
        28,
        22,
        30,
        23,
        20,
        31,
        45,
        33,
        29,
        8,
        34,
        12,
        41,
        39,
        51,
        48,
        49,
        74,
        62,
        67,
        64,
        61,
        66,
        59,
        52,
        94,
        54,
        95,
        92,
        55,
        69,
        57,
        53,
        80,
        58,
        84,
        65,
        63,
        75,
        72,
        73,
        50,
        86,
        91,
        88,
        85,
        90,
        83,
        76,
        70,
        78,
        71,
        68,
        79,
        93,
        81,
        77,
        56,
        82,
        60,
        89,
        87,
    ],
    [
        4,
        17,
        45,
        13,
        5,
        30,
        0,
        10,
        20,
        14,
        22,
        3,
        9,
        18,
        47,
        1,
        7,
        19,
        35,
        39,
        2,
        8,
        40,
        12,
        28,
        41,
        21,
        37,
        29,
        6,
        24,
        34,
        44,
        38,
        46,
        27,
        33,
        42,
        23,
        25,
        31,
        43,
        11,
        15,
        26,
        32,
        16,
        36,
        52,
        65,
        93,
        61,
        53,
        78,
        48,
        58,
        68,
        62,
        70,
        51,
        57,
        66,
        95,
        49,
        55,
        67,
        83,
        87,
        50,
        56,
        88,
        60,
        76,
        89,
        69,
        85,
        77,
        54,
        72,
        82,
        92,
        86,
        94,
        75,
        81,
        90,
        71,
        73,
        79,
        91,
        59,
        63,
        74,
        80,
        64,
        84,
    ],
    [
        5,
        19,
        32,
        18,
        30,
        24,
        4,
        22,
        2,
        47,
        40,
        13,
        14,
        35,
        36,
        17,
        10,
        39,
        27,
        25,
        45,
        20,
        31,
        9,
        29,
        43,
        8,
        42,
        6,
        0,
        28,
        46,
        26,
        23,
        16,
        37,
        38,
        11,
        12,
        41,
        34,
        15,
        3,
        1,
        21,
        44,
        7,
        33,
        53,
        67,
        80,
        66,
        78,
        72,
        52,
        70,
        50,
        95,
        88,
        61,
        62,
        83,
        84,
        65,
        58,
        87,
        75,
        73,
        93,
        68,
        79,
        57,
        77,
        91,
        56,
        90,
        54,
        48,
        76,
        94,
        74,
        71,
        64,
        85,
        86,
        59,
        60,
        89,
        82,
        63,
        51,
        49,
        69,
        92,
        55,
        81,
    ],
    [
        6,
        15,
        20,
        11,
        0,
        4,
        29,
        16,
        21,
        12,
        7,
        42,
        23,
        3,
        9,
        43,
        46,
        1,
        13,
        17,
        8,
        26,
        10,
        38,
        30,
        39,
        44,
        35,
        24,
        28,
        5,
        40,
        45,
        36,
        31,
        18,
        47,
        27,
        33,
        19,
        22,
        25,
        37,
        41,
        32,
        2,
        34,
        14,
        54,
        63,
        68,
        59,
        48,
        52,
        77,
        64,
        69,
        60,
        55,
        90,
        71,
        51,
        57,
        91,
        94,
        49,
        61,
        65,
        56,
        74,
        58,
        86,
        78,
        87,
        92,
        83,
        72,
        76,
        53,
        88,
        93,
        84,
        79,
        66,
        95,
        75,
        81,
        67,
        70,
        73,
        85,
        89,
        80,
        50,
        82,
        62,
    ],
    [
        7,
        10,
        22,
        16,
        13,
        47,
        15,
        8,
        33,
        0,
        18,
        6,
        1,
        21,
        3,
        20,
        43,
        4,
        36,
        14,
        35,
        41,
        5,
        2,
        31,
        34,
        46,
        40,
        37,
        23,
        39,
        32,
        9,
        24,
        42,
        30,
        25,
        45,
        27,
        44,
        19,
        28,
        12,
        38,
        11,
        17,
        29,
        26,
        55,
        58,
        70,
        64,
        61,
        95,
        63,
        56,
        81,
        48,
        66,
        54,
        49,
        69,
        51,
        68,
        91,
        52,
        84,
        62,
        83,
        89,
        53,
        50,
        79,
        82,
        94,
        88,
        85,
        71,
        87,
        80,
        57,
        72,
        90,
        78,
        73,
        93,
        75,
        92,
        67,
        76,
        60,
        86,
        59,
        65,
        77,
        74,
    ],
    [
        8,
        18,
        5,
        43,
        21,
        26,
        20,
        33,
        24,
        7,
        36,
        15,
        10,
        41,
        16,
        35,
        38,
        13,
        25,
        3,
        30,
        28,
        47,
        22,
        32,
        42,
        29,
        19,
        45,
        2,
        44,
        9,
        0,
        31,
        12,
        39,
        34,
        17,
        40,
        11,
        14,
        37,
        1,
        27,
        6,
        4,
        23,
        46,
        56,
        66,
        53,
        91,
        69,
        74,
        68,
        81,
        72,
        55,
        84,
        63,
        58,
        89,
        64,
        83,
        86,
        61,
        73,
        51,
        78,
        76,
        95,
        70,
        80,
        90,
        77,
        67,
        93,
        50,
        92,
        57,
        48,
        79,
        60,
        87,
        82,
        65,
        88,
        59,
        62,
        85,
        49,
        75,
        54,
        52,
        71,
        94,
    ],
    [
        9,
        12,
        23,
        14,
        17,
        22,
        11,
        0,
        7,
        32,
        1,
        44,
        42,
        4,
        19,
        6,
        3,
        45,
        10,
        40,
        15,
        13,
        2,
        29,
        33,
        36,
        47,
        38,
        41,
        46,
        35,
        24,
        31,
        8,
        25,
        20,
        18,
        28,
        43,
        30,
        27,
        21,
        34,
        16,
        39,
        37,
        26,
        5,
        57,
        60,
        71,
        62,
        65,
        70,
        59,
        48,
        55,
        80,
        49,
        92,
        90,
        52,
        67,
        54,
        51,
        93,
        58,
        88,
        63,
        61,
        50,
        77,
        81,
        84,
        95,
        86,
        89,
        94,
        83,
        72,
        79,
        56,
        73,
        68,
        66,
        76,
        91,
        78,
        75,
        69,
        82,
        64,
        87,
        85,
        74,
        53,
    ],
    [
        10,
        22,
        40,
        7,
        18,
        36,
        1,
        20,
        38,
        4,
        35,
        0,
        17,
        8,
        13,
        2,
        15,
        5,
        33,
        47,
        27,
        43,
        30,
        45,
        34,
        46,
        16,
        31,
        42,
        12,
        25,
        44,
        14,
        28,
        11,
        24,
        41,
        32,
        37,
        26,
        39,
        29,
        9,
        23,
        3,
        19,
        6,
        21,
        58,
        70,
        88,
        55,
        66,
        84,
        49,
        68,
        86,
        52,
        83,
        48,
        65,
        56,
        61,
        50,
        63,
        53,
        81,
        95,
        75,
        91,
        78,
        93,
        82,
        94,
        64,
        79,
        90,
        60,
        73,
        92,
        62,
        76,
        59,
        72,
        89,
        80,
        85,
        74,
        87,
        77,
        57,
        71,
        51,
        67,
        54,
        69,
    ],
    [
        11,
        6,
        15,
        44,
        9,
        17,
        46,
        3,
        13,
        42,
        0,
        34,
        29,
        14,
        32,
        16,
        26,
        12,
        4,
        45,
        7,
        47,
        1,
        43,
        35,
        30,
        39,
        20,
        33,
        41,
        22,
        27,
        37,
        18,
        24,
        10,
        5,
        38,
        8,
        40,
        2,
        36,
        28,
        21,
        31,
        23,
        25,
        19,
        59,
        54,
        63,
        92,
        57,
        65,
        94,
        51,
        61,
        90,
        48,
        82,
        77,
        62,
        80,
        64,
        74,
        60,
        52,
        93,
        55,
        95,
        49,
        91,
        83,
        78,
        87,
        68,
        81,
        89,
        70,
        75,
        85,
        66,
        72,
        58,
        53,
        86,
        56,
        88,
        50,
        84,
        76,
        69,
        79,
        71,
        73,
        67,
    ],
    [
        12,
        23,
        38,
        9,
        1,
        10,
        42,
        6,
        16,
        45,
        15,
        32,
        37,
        0,
        17,
        29,
        11,
        2,
        7,
        22,
        43,
        3,
        20,
        28,
        36,
        47,
        14,
        33,
        25,
        34,
        18,
        30,
        40,
        21,
        39,
        8,
        13,
        24,
        41,
        5,
        35,
        26,
        31,
        46,
        19,
        27,
        44,
        4,
        60,
        71,
        86,
        57,
        49,
        58,
        90,
        54,
        64,
        93,
        63,
        80,
        85,
        48,
        65,
        77,
        59,
        50,
        55,
        70,
        91,
        51,
        68,
        76,
        84,
        95,
        62,
        81,
        73,
        82,
        66,
        78,
        88,
        69,
        87,
        56,
        61,
        72,
        89,
        53,
        83,
        74,
        79,
        94,
        67,
        75,
        92,
        52,
    ],
    [
        13,
        4,
        17,
        21,
        47,
        39,
        7,
        18,
        35,
        3,
        5,
        16,
        0,
        36,
        26,
        10,
        8,
        14,
        30,
        44,
        22,
        33,
        19,
        1,
        37,
        28,
        41,
        45,
        23,
        15,
        31,
        42,
        11,
        27,
        29,
        40,
        24,
        12,
        2,
        34,
        32,
        38,
        6,
        20,
        46,
        9,
        43,
        25,
        61,
        52,
        65,
        69,
        95,
        87,
        55,
        66,
        83,
        51,
        53,
        64,
        48,
        84,
        74,
        58,
        56,
        62,
        78,
        92,
        70,
        81,
        67,
        49,
        85,
        76,
        89,
        93,
        71,
        63,
        79,
        90,
        59,
        75,
        77,
        88,
        72,
        60,
        50,
        82,
        80,
        86,
        54,
        68,
        94,
        57,
        91,
        73,
    ],
    [
        14,
        9,
        12,
        47,
        19,
        40,
        3,
        4,
        10,
        44,
        17,
        26,
        11,
        5,
        39,
        0,
        13,
        32,
        22,
        31,
        1,
        18,
        45,
        6,
        38,
        33,
        36,
        23,
        43,
        16,
        27,
        28,
        34,
        20,
        41,
        2,
        35,
        29,
        15,
        24,
        37,
        8,
        46,
        7,
        25,
        42,
        21,
        30,
        62,
        57,
        60,
        95,
        67,
        88,
        51,
        52,
        58,
        92,
        65,
        74,
        59,
        53,
        87,
        48,
        61,
        80,
        70,
        79,
        49,
        66,
        93,
        54,
        86,
        81,
        84,
        71,
        91,
        64,
        75,
        76,
        82,
        68,
        89,
        50,
        83,
        77,
        63,
        72,
        85,
        56,
        94,
        55,
        73,
        90,
        69,
        78,
    ],
    [
        15,
        20,
        35,
        6,
        7,
        13,
        23,
        43,
        41,
        1,
        8,
        12,
        2,
        16,
        0,
        38,
        29,
        10,
        21,
        4,
        33,
        46,
        18,
        27,
        39,
        44,
        11,
        30,
        31,
        37,
        47,
        19,
        17,
        25,
        32,
        36,
        26,
        40,
        24,
        14,
        5,
        34,
        45,
        28,
        9,
        22,
        42,
        3,
        63,
        68,
        83,
        54,
        55,
        61,
        71,
        91,
        89,
        49,
        56,
        60,
        50,
        64,
        48,
        86,
        77,
        58,
        69,
        52,
        81,
        94,
        66,
        75,
        87,
        92,
        59,
        78,
        79,
        85,
        95,
        67,
        65,
        73,
        80,
        84,
        74,
        88,
        72,
        62,
        53,
        82,
        93,
        76,
        57,
        70,
        90,
        51,
    ],
    [
        16,
        7,
        10,
        46,
        3,
        14,
        43,
        21,
        36,
        6,
        13,
        29,
        15,
        26,
        11,
        8,
        41,
        0,
        47,
        9,
        18,
        25,
        4,
        20,
        40,
        31,
        34,
        22,
        27,
        38,
        19,
        45,
        12,
        30,
        37,
        5,
        39,
        2,
        35,
        32,
        17,
        24,
        23,
        33,
        42,
        1,
        28,
        44,
        64,
        55,
        58,
        94,
        51,
        62,
        91,
        69,
        84,
        54,
        61,
        77,
        63,
        74,
        59,
        56,
        89,
        48,
        95,
        57,
        66,
        73,
        52,
        68,
        88,
        79,
        82,
        70,
        75,
        86,
        67,
        93,
        60,
        78,
        85,
        53,
        87,
        50,
        83,
        80,
        65,
        72,
        71,
        81,
        90,
        49,
        76,
        92,
    ],
    [
        17,
        45,
        37,
        4,
        22,
        35,
        9,
        1,
        15,
        19,
        2,
        14,
        32,
        10,
        5,
        12,
        0,
        40,
        20,
        30,
        23,
        7,
        27,
        42,
        41,
        21,
        13,
        28,
        46,
        11,
        33,
        25,
        39,
        43,
        26,
        38,
        8,
        34,
        29,
        36,
        24,
        16,
        44,
        6,
        47,
        31,
        3,
        18,
        65,
        93,
        85,
        52,
        70,
        83,
        57,
        49,
        63,
        67,
        50,
        62,
        80,
        58,
        53,
        60,
        48,
        88,
        68,
        78,
        71,
        55,
        75,
        90,
        89,
        69,
        61,
        76,
        94,
        59,
        81,
        73,
        87,
        91,
        74,
        86,
        56,
        82,
        77,
        84,
        72,
        64,
        92,
        54,
        95,
        79,
        51,
        66,
    ],
    [
        18,
        5,
        19,
        8,
        36,
        25,
        10,
        35,
        27,
        13,
        30,
        7,
        4,
        33,
        21,
        22,
        20,
        47,
        24,
        26,
        40,
        38,
        39,
        17,
        42,
        29,
        43,
        32,
        12,
        1,
        34,
        11,
        3,
        37,
        6,
        31,
        28,
        9,
        45,
        46,
        44,
        23,
        0,
        2,
        16,
        14,
        15,
        41,
        66,
        53,
        67,
        56,
        84,
        73,
        58,
        83,
        75,
        61,
        78,
        55,
        52,
        81,
        69,
        70,
        68,
        95,
        72,
        74,
        88,
        86,
        87,
        65,
        90,
        77,
        91,
        80,
        60,
        49,
        82,
        59,
        51,
        85,
        54,
        79,
        76,
        57,
        93,
        94,
        92,
        71,
        48,
        50,
        64,
        62,
        63,
        89,
    ],
    [
        19,
        32,
        42,
        5,
        40,
        27,
        14,
        17,
        1,
        39,
        45,
        47,
        44,
        22,
        30,
        9,
        4,
        31,
        2,
        24,
        12,
        10,
        37,
        11,
        43,
        8,
        18,
        29,
        16,
        3,
        38,
        41,
        25,
        15,
        21,
        23,
        20,
        46,
        6,
        33,
        28,
        7,
        26,
        0,
        36,
        34,
        13,
        35,
        67,
        80,
        90,
        53,
        88,
        75,
        62,
        65,
        49,
        87,
        93,
        95,
        92,
        70,
        78,
        57,
        52,
        79,
        50,
        72,
        60,
        58,
        85,
        59,
        91,
        56,
        66,
        77,
        64,
        51,
        86,
        89,
        73,
        63,
        69,
        71,
        68,
        94,
        54,
        81,
        76,
        55,
        74,
        48,
        84,
        82,
        61,
        83,
    ],
    [
        20,
        35,
        30,
        15,
        8,
        21,
        2,
        38,
        28,
        10,
        33,
        1,
        22,
        43,
        7,
        27,
        23,
        18,
        41,
        13,
        24,
        29,
        36,
        40,
        44,
        11,
        6,
        39,
        32,
        45,
        26,
        14,
        4,
        34,
        9,
        25,
        46,
        19,
        31,
        3,
        47,
        42,
        17,
        37,
        0,
        5,
        12,
        16,
        68,
        83,
        78,
        63,
        56,
        69,
        50,
        86,
        76,
        58,
        81,
        49,
        70,
        91,
        55,
        75,
        71,
        66,
        89,
        61,
        72,
        77,
        84,
        88,
        92,
        59,
        54,
        87,
        80,
        93,
        74,
        62,
        52,
        82,
        57,
        73,
        94,
        67,
        79,
        51,
        95,
        90,
        65,
        85,
        48,
        53,
        60,
        64,
    ],
    [
        21,
        13,
        4,
        41,
        26,
        44,
        8,
        36,
        30,
        16,
        47,
        43,
        7,
        25,
        46,
        18,
        33,
        3,
        39,
        11,
        5,
        24,
        14,
        10,
        45,
        37,
        28,
        17,
        2,
        20,
        32,
        12,
        6,
        40,
        23,
        19,
        31,
        1,
        22,
        42,
        9,
        27,
        15,
        35,
        29,
        0,
        38,
        34,
        69,
        61,
        52,
        89,
        74,
        92,
        56,
        84,
        78,
        64,
        95,
        91,
        55,
        73,
        94,
        66,
        81,
        51,
        87,
        59,
        53,
        72,
        62,
        58,
        93,
        85,
        76,
        65,
        50,
        68,
        80,
        60,
        54,
        88,
        71,
        67,
        79,
        49,
        70,
        90,
        57,
        75,
        63,
        83,
        77,
        48,
        86,
        82,
    ],
    [
        22,
        40,
        31,
        10,
        35,
        33,
        17,
        2,
        23,
        5,
        27,
        4,
        19,
        20,
        18,
        45,
        1,
        30,
        38,
        36,
        37,
        15,
        24,
        32,
        46,
        16,
        7,
        34,
        11,
        9,
        41,
        26,
        47,
        29,
        3,
        28,
        43,
        44,
        42,
        21,
        25,
        6,
        14,
        12,
        13,
        39,
        0,
        8,
        70,
        88,
        79,
        58,
        83,
        81,
        65,
        50,
        71,
        53,
        75,
        52,
        67,
        68,
        66,
        93,
        49,
        78,
        86,
        84,
        85,
        63,
        72,
        80,
        94,
        64,
        55,
        82,
        59,
        57,
        89,
        74,
        95,
        77,
        51,
        76,
        91,
        92,
        90,
        69,
        73,
        54,
        62,
        60,
        61,
        87,
        48,
        56,
    ],
    [
        23,
        38,
        33,
        12,
        15,
        7,
        37,
        29,
        46,
        2,
        43,
        45,
        27,
        6,
        1,
        28,
        42,
        20,
        16,
        10,
        41,
        11,
        8,
        24,
        47,
        14,
        9,
        36,
        39,
        31,
        13,
        5,
        22,
        26,
        19,
        21,
        3,
        30,
        25,
        4,
        18,
        44,
        40,
        34,
        17,
        35,
        32,
        0,
        71,
        86,
        81,
        60,
        63,
        55,
        85,
        77,
        94,
        50,
        91,
        93,
        75,
        54,
        49,
        76,
        90,
        68,
        64,
        58,
        89,
        59,
        56,
        72,
        95,
        62,
        57,
        84,
        87,
        79,
        61,
        53,
        70,
        74,
        67,
        69,
        51,
        78,
        73,
        52,
        66,
        92,
        88,
        82,
        65,
        83,
        80,
        48,
    ],
    [
        24,
        25,
        26,
        27,
        28,
        29,
        30,
        31,
        32,
        33,
        34,
        35,
        36,
        37,
        38,
        39,
        40,
        41,
        42,
        43,
        44,
        45,
        46,
        47,
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10,
        11,
        12,
        13,
        14,
        15,
        16,
        17,
        18,
        19,
        20,
        21,
        22,
        23,
        72,
        73,
        74,
        75,
        76,
        77,
        78,
        79,
        80,
        81,
        82,
        83,
        84,
        85,
        86,
        87,
        88,
        89,
        90,
        91,
        92,
        93,
        94,
        95,
        48,
        49,
        50,
        51,
        52,
        53,
        54,
        55,
        56,
        57,
        58,
        59,
        60,
        61,
        62,
        63,
        64,
        65,
        66,
        67,
        68,
        69,
        70,
        71,
    ],
    [
        25,
        26,
        3,
        24,
        34,
        42,
        36,
        39,
        19,
        41,
        44,
        33,
        21,
        31,
        28,
        47,
        30,
        46,
        32,
        29,
        14,
        40,
        11,
        13,
        1,
        2,
        27,
        0,
        10,
        18,
        12,
        15,
        43,
        17,
        20,
        9,
        45,
        7,
        4,
        23,
        6,
        22,
        8,
        5,
        38,
        16,
        35,
        37,
        73,
        74,
        51,
        72,
        82,
        90,
        84,
        87,
        67,
        89,
        92,
        81,
        69,
        79,
        76,
        95,
        78,
        94,
        80,
        77,
        62,
        88,
        59,
        61,
        49,
        50,
        75,
        48,
        58,
        66,
        60,
        63,
        91,
        65,
        68,
        57,
        93,
        55,
        52,
        71,
        54,
        70,
        56,
        53,
        86,
        64,
        83,
        85,
    ],
    [
        26,
        3,
        0,
        25,
        44,
        32,
        21,
        47,
        5,
        46,
        14,
        41,
        16,
        39,
        34,
        13,
        36,
        11,
        19,
        42,
        4,
        30,
        9,
        7,
        2,
        27,
        24,
        1,
        20,
        8,
        45,
        23,
        29,
        22,
        38,
        17,
        40,
        15,
        10,
        37,
        12,
        35,
        43,
        18,
        28,
        6,
        33,
        31,
        74,
        51,
        48,
        73,
        92,
        80,
        69,
        95,
        53,
        94,
        62,
        89,
        64,
        87,
        82,
        61,
        84,
        59,
        67,
        90,
        52,
        78,
        57,
        55,
        50,
        75,
        72,
        49,
        68,
        56,
        93,
        71,
        77,
        70,
        86,
        65,
        88,
        63,
        58,
        85,
        60,
        83,
        91,
        66,
        76,
        54,
        81,
        79,
    ],
    [
        27,
        24,
        25,
        2,
        38,
        43,
        40,
        37,
        42,
        35,
        28,
        22,
        30,
        23,
        20,
        31,
        45,
        33,
        29,
        8,
        34,
        12,
        41,
        39,
        3,
        0,
        1,
        26,
        14,
        19,
        16,
        13,
        18,
        11,
        4,
        46,
        6,
        47,
        44,
        7,
        21,
        9,
        5,
        32,
        10,
        36,
        17,
        15,
        75,
        72,
        73,
        50,
        86,
        91,
        88,
        85,
        90,
        83,
        76,
        70,
        78,
        71,
        68,
        79,
        93,
        81,
        77,
        56,
        82,
        60,
        89,
        87,
        51,
        48,
        49,
        74,
        62,
        67,
        64,
        61,
        66,
        59,
        52,
        94,
        54,
        95,
        92,
        55,
        69,
        57,
        53,
        80,
        58,
        84,
        65,
        63,
    ],
    [
        28,
        41,
        21,
        37,
        29,
        6,
        24,
        34,
        44,
        38,
        46,
        27,
        33,
        42,
        23,
        25,
        31,
        43,
        11,
        15,
        26,
        32,
        16,
        36,
        4,
        17,
        45,
        13,
        5,
        30,
        0,
        10,
        20,
        14,
        22,
        3,
        9,
        18,
        47,
        1,
        7,
        19,
        35,
        39,
        2,
        8,
        40,
        12,
        76,
        89,
        69,
        85,
        77,
        54,
        72,
        82,
        92,
        86,
        94,
        75,
        81,
        90,
        71,
        73,
        79,
        91,
        59,
        63,
        74,
        80,
        64,
        84,
        52,
        65,
        93,
        61,
        53,
        78,
        48,
        58,
        68,
        62,
        70,
        51,
        57,
        66,
        95,
        49,
        55,
        67,
        83,
        87,
        50,
        56,
        88,
        60,
    ],
    [
        29,
        43,
        8,
        42,
        6,
        0,
        28,
        46,
        26,
        23,
        16,
        37,
        38,
        11,
        12,
        41,
        34,
        15,
        3,
        1,
        21,
        44,
        7,
        33,
        5,
        19,
        32,
        18,
        30,
        24,
        4,
        22,
        2,
        47,
        40,
        13,
        14,
        35,
        36,
        17,
        10,
        39,
        27,
        25,
        45,
        20,
        31,
        9,
        77,
        91,
        56,
        90,
        54,
        48,
        76,
        94,
        74,
        71,
        64,
        85,
        86,
        59,
        60,
        89,
        82,
        63,
        51,
        49,
        69,
        92,
        55,
        81,
        53,
        67,
        80,
        66,
        78,
        72,
        52,
        70,
        50,
        95,
        88,
        61,
        62,
        83,
        84,
        65,
        58,
        87,
        75,
        73,
        93,
        68,
        79,
        57,
    ],
    [
        30,
        39,
        44,
        35,
        24,
        28,
        5,
        40,
        45,
        36,
        31,
        18,
        47,
        27,
        33,
        19,
        22,
        25,
        37,
        41,
        32,
        2,
        34,
        14,
        6,
        15,
        20,
        11,
        0,
        4,
        29,
        16,
        21,
        12,
        7,
        42,
        23,
        3,
        9,
        43,
        46,
        1,
        13,
        17,
        8,
        26,
        10,
        38,
        78,
        87,
        92,
        83,
        72,
        76,
        53,
        88,
        93,
        84,
        79,
        66,
        95,
        75,
        81,
        67,
        70,
        73,
        85,
        89,
        80,
        50,
        82,
        62,
        54,
        63,
        68,
        59,
        48,
        52,
        77,
        64,
        69,
        60,
        55,
        90,
        71,
        51,
        57,
        91,
        94,
        49,
        61,
        65,
        56,
        74,
        58,
        86,
    ],
    [
        31,
        34,
        46,
        40,
        37,
        23,
        39,
        32,
        9,
        24,
        42,
        30,
        25,
        45,
        27,
        44,
        19,
        28,
        12,
        38,
        11,
        17,
        29,
        26,
        7,
        10,
        22,
        16,
        13,
        47,
        15,
        8,
        33,
        0,
        18,
        6,
        1,
        21,
        3,
        20,
        43,
        4,
        36,
        14,
        35,
        41,
        5,
        2,
        79,
        82,
        94,
        88,
        85,
        71,
        87,
        80,
        57,
        72,
        90,
        78,
        73,
        93,
        75,
        92,
        67,
        76,
        60,
        86,
        59,
        65,
        77,
        74,
        55,
        58,
        70,
        64,
        61,
        95,
        63,
        56,
        81,
        48,
        66,
        54,
        49,
        69,
        51,
        68,
        91,
        52,
        84,
        62,
        83,
        89,
        53,
        50,
    ],
    [
        32,
        42,
        29,
        19,
        45,
        2,
        44,
        9,
        0,
        31,
        12,
        39,
        34,
        17,
        40,
        11,
        14,
        37,
        1,
        27,
        6,
        4,
        23,
        46,
        8,
        18,
        5,
        43,
        21,
        26,
        20,
        33,
        24,
        7,
        36,
        15,
        10,
        41,
        16,
        35,
        38,
        13,
        25,
        3,
        30,
        28,
        47,
        22,
        80,
        90,
        77,
        67,
        93,
        50,
        92,
        57,
        48,
        79,
        60,
        87,
        82,
        65,
        88,
        59,
        62,
        85,
        49,
        75,
        54,
        52,
        71,
        94,
        56,
        66,
        53,
        91,
        69,
        74,
        68,
        81,
        72,
        55,
        84,
        63,
        58,
        89,
        64,
        83,
        86,
        61,
        73,
        51,
        78,
        76,
        95,
        70,
    ],
    [
        33,
        36,
        47,
        38,
        41,
        46,
        35,
        24,
        31,
        8,
        25,
        20,
        18,
        28,
        43,
        30,
        27,
        21,
        34,
        16,
        39,
        37,
        26,
        5,
        9,
        12,
        23,
        14,
        17,
        22,
        11,
        0,
        7,
        32,
        1,
        44,
        42,
        4,
        19,
        6,
        3,
        45,
        10,
        40,
        15,
        13,
        2,
        29,
        81,
        84,
        95,
        86,
        89,
        94,
        83,
        72,
        79,
        56,
        73,
        68,
        66,
        76,
        91,
        78,
        75,
        69,
        82,
        64,
        87,
        85,
        74,
        53,
        57,
        60,
        71,
        62,
        65,
        70,
        59,
        48,
        55,
        80,
        49,
        92,
        90,
        52,
        67,
        54,
        51,
        93,
        58,
        88,
        63,
        61,
        50,
        77,
    ],
    [
        34,
        46,
        16,
        31,
        42,
        12,
        25,
        44,
        14,
        28,
        11,
        24,
        41,
        32,
        37,
        26,
        39,
        29,
        9,
        23,
        3,
        19,
        6,
        21,
        10,
        22,
        40,
        7,
        18,
        36,
        1,
        20,
        38,
        4,
        35,
        0,
        17,
        8,
        13,
        2,
        15,
        5,
        33,
        47,
        27,
        43,
        30,
        45,
        82,
        94,
        64,
        79,
        90,
        60,
        73,
        92,
        62,
        76,
        59,
        72,
        89,
        80,
        85,
        74,
        87,
        77,
        57,
        71,
        51,
        67,
        54,
        69,
        58,
        70,
        88,
        55,
        66,
        84,
        49,
        68,
        86,
        52,
        83,
        48,
        65,
        56,
        61,
        50,
        63,
        53,
        81,
        95,
        75,
        91,
        78,
        93,
    ],
    [
        35,
        30,
        39,
        20,
        33,
        41,
        22,
        27,
        37,
        18,
        24,
        10,
        5,
        38,
        8,
        40,
        2,
        36,
        28,
        21,
        31,
        23,
        25,
        19,
        11,
        6,
        15,
        44,
        9,
        17,
        46,
        3,
        13,
        42,
        0,
        34,
        29,
        14,
        32,
        16,
        26,
        12,
        4,
        45,
        7,
        47,
        1,
        43,
        83,
        78,
        87,
        68,
        81,
        89,
        70,
        75,
        85,
        66,
        72,
        58,
        53,
        86,
        56,
        88,
        50,
        84,
        76,
        69,
        79,
        71,
        73,
        67,
        59,
        54,
        63,
        92,
        57,
        65,
        94,
        51,
        61,
        90,
        48,
        82,
        77,
        62,
        80,
        64,
        74,
        60,
        52,
        93,
        55,
        95,
        49,
        91,
    ],
    [
        36,
        47,
        14,
        33,
        25,
        34,
        18,
        30,
        40,
        21,
        39,
        8,
        13,
        24,
        41,
        5,
        35,
        26,
        31,
        46,
        19,
        27,
        44,
        4,
        12,
        23,
        38,
        9,
        1,
        10,
        42,
        6,
        16,
        45,
        15,
        32,
        37,
        0,
        17,
        29,
        11,
        2,
        7,
        22,
        43,
        3,
        20,
        28,
        84,
        95,
        62,
        81,
        73,
        82,
        66,
        78,
        88,
        69,
        87,
        56,
        61,
        72,
        89,
        53,
        83,
        74,
        79,
        94,
        67,
        75,
        92,
        52,
        60,
        71,
        86,
        57,
        49,
        58,
        90,
        54,
        64,
        93,
        63,
        80,
        85,
        48,
        65,
        77,
        59,
        50,
        55,
        70,
        91,
        51,
        68,
        76,
    ],
    [
        37,
        28,
        41,
        45,
        23,
        15,
        31,
        42,
        11,
        27,
        29,
        40,
        24,
        12,
        2,
        34,
        32,
        38,
        6,
        20,
        46,
        9,
        43,
        25,
        13,
        4,
        17,
        21,
        47,
        39,
        7,
        18,
        35,
        3,
        5,
        16,
        0,
        36,
        26,
        10,
        8,
        14,
        30,
        44,
        22,
        33,
        19,
        1,
        85,
        76,
        89,
        93,
        71,
        63,
        79,
        90,
        59,
        75,
        77,
        88,
        72,
        60,
        50,
        82,
        80,
        86,
        54,
        68,
        94,
        57,
        91,
        73,
        61,
        52,
        65,
        69,
        95,
        87,
        55,
        66,
        83,
        51,
        53,
        64,
        48,
        84,
        74,
        58,
        56,
        62,
        78,
        92,
        70,
        81,
        67,
        49,
    ],
    [
        38,
        33,
        36,
        23,
        43,
        16,
        27,
        28,
        34,
        20,
        41,
        2,
        35,
        29,
        15,
        24,
        37,
        8,
        46,
        7,
        25,
        42,
        21,
        30,
        14,
        9,
        12,
        47,
        19,
        40,
        3,
        4,
        10,
        44,
        17,
        26,
        11,
        5,
        39,
        0,
        13,
        32,
        22,
        31,
        1,
        18,
        45,
        6,
        86,
        81,
        84,
        71,
        91,
        64,
        75,
        76,
        82,
        68,
        89,
        50,
        83,
        77,
        63,
        72,
        85,
        56,
        94,
        55,
        73,
        90,
        69,
        78,
        62,
        57,
        60,
        95,
        67,
        88,
        51,
        52,
        58,
        92,
        65,
        74,
        59,
        53,
        87,
        48,
        61,
        80,
        70,
        79,
        49,
        66,
        93,
        54,
    ],
    [
        39,
        44,
        11,
        30,
        31,
        37,
        47,
        19,
        17,
        25,
        32,
        36,
        26,
        40,
        24,
        14,
        5,
        34,
        45,
        28,
        9,
        22,
        42,
        3,
        15,
        20,
        35,
        6,
        7,
        13,
        23,
        43,
        41,
        1,
        8,
        12,
        2,
        16,
        0,
        38,
        29,
        10,
        21,
        4,
        33,
        46,
        18,
        27,
        87,
        92,
        59,
        78,
        79,
        85,
        95,
        67,
        65,
        73,
        80,
        84,
        74,
        88,
        72,
        62,
        53,
        82,
        93,
        76,
        57,
        70,
        90,
        51,
        63,
        68,
        83,
        54,
        55,
        61,
        71,
        91,
        89,
        49,
        56,
        60,
        50,
        64,
        48,
        86,
        77,
        58,
        69,
        52,
        81,
        94,
        66,
        75,
    ],
    [
        40,
        31,
        34,
        22,
        27,
        38,
        19,
        45,
        12,
        30,
        37,
        5,
        39,
        2,
        35,
        32,
        17,
        24,
        23,
        33,
        42,
        1,
        28,
        44,
        16,
        7,
        10,
        46,
        3,
        14,
        43,
        21,
        36,
        6,
        13,
        29,
        15,
        26,
        11,
        8,
        41,
        0,
        47,
        9,
        18,
        25,
        4,
        20,
        88,
        79,
        82,
        70,
        75,
        86,
        67,
        93,
        60,
        78,
        85,
        53,
        87,
        50,
        83,
        80,
        65,
        72,
        71,
        81,
        90,
        49,
        76,
        92,
        64,
        55,
        58,
        94,
        51,
        62,
        91,
        69,
        84,
        54,
        61,
        77,
        63,
        74,
        59,
        56,
        89,
        48,
        95,
        57,
        66,
        73,
        52,
        68,
    ],
    [
        41,
        21,
        13,
        28,
        46,
        11,
        33,
        25,
        39,
        43,
        26,
        38,
        8,
        34,
        29,
        36,
        24,
        16,
        44,
        6,
        47,
        31,
        3,
        18,
        17,
        45,
        37,
        4,
        22,
        35,
        9,
        1,
        15,
        19,
        2,
        14,
        32,
        10,
        5,
        12,
        0,
        40,
        20,
        30,
        23,
        7,
        27,
        42,
        89,
        69,
        61,
        76,
        94,
        59,
        81,
        73,
        87,
        91,
        74,
        86,
        56,
        82,
        77,
        84,
        72,
        64,
        92,
        54,
        95,
        79,
        51,
        66,
        65,
        93,
        85,
        52,
        70,
        83,
        57,
        49,
        63,
        67,
        50,
        62,
        80,
        58,
        53,
        60,
        48,
        88,
        68,
        78,
        71,
        55,
        75,
        90,
    ],
    [
        42,
        29,
        43,
        32,
        12,
        1,
        34,
        11,
        3,
        37,
        6,
        31,
        28,
        9,
        45,
        46,
        44,
        23,
        0,
        2,
        16,
        14,
        15,
        41,
        18,
        5,
        19,
        8,
        36,
        25,
        10,
        35,
        27,
        13,
        30,
        7,
        4,
        33,
        21,
        22,
        20,
        47,
        24,
        26,
        40,
        38,
        39,
        17,
        90,
        77,
        91,
        80,
        60,
        49,
        82,
        59,
        51,
        85,
        54,
        79,
        76,
        57,
        93,
        94,
        92,
        71,
        48,
        50,
        64,
        62,
        63,
        89,
        66,
        53,
        67,
        56,
        84,
        73,
        58,
        83,
        75,
        61,
        78,
        55,
        52,
        81,
        69,
        70,
        68,
        95,
        72,
        74,
        88,
        86,
        87,
        65,
    ],
    [
        43,
        8,
        18,
        29,
        16,
        3,
        38,
        41,
        25,
        15,
        21,
        23,
        20,
        46,
        6,
        33,
        28,
        7,
        26,
        0,
        36,
        34,
        13,
        35,
        19,
        32,
        42,
        5,
        40,
        27,
        14,
        17,
        1,
        39,
        45,
        47,
        44,
        22,
        30,
        9,
        4,
        31,
        2,
        24,
        12,
        10,
        37,
        11,
        91,
        56,
        66,
        77,
        64,
        51,
        86,
        89,
        73,
        63,
        69,
        71,
        68,
        94,
        54,
        81,
        76,
        55,
        74,
        48,
        84,
        82,
        61,
        83,
        67,
        80,
        90,
        53,
        88,
        75,
        62,
        65,
        49,
        87,
        93,
        95,
        92,
        70,
        78,
        57,
        52,
        79,
        50,
        72,
        60,
        58,
        85,
        59,
    ],
    [
        44,
        11,
        6,
        39,
        32,
        45,
        26,
        14,
        4,
        34,
        9,
        25,
        46,
        19,
        31,
        3,
        47,
        42,
        17,
        37,
        0,
        5,
        12,
        16,
        20,
        35,
        30,
        15,
        8,
        21,
        2,
        38,
        28,
        10,
        33,
        1,
        22,
        43,
        7,
        27,
        23,
        18,
        41,
        13,
        24,
        29,
        36,
        40,
        92,
        59,
        54,
        87,
        80,
        93,
        74,
        62,
        52,
        82,
        57,
        73,
        94,
        67,
        79,
        51,
        95,
        90,
        65,
        85,
        48,
        53,
        60,
        64,
        68,
        83,
        78,
        63,
        56,
        69,
        50,
        86,
        76,
        58,
        81,
        49,
        70,
        91,
        55,
        75,
        71,
        66,
        89,
        61,
        72,
        77,
        84,
        88,
    ],
    [
        45,
        37,
        28,
        17,
        2,
        20,
        32,
        12,
        6,
        40,
        23,
        19,
        31,
        1,
        22,
        42,
        9,
        27,
        15,
        35,
        29,
        0,
        38,
        34,
        21,
        13,
        4,
        41,
        26,
        44,
        8,
        36,
        30,
        16,
        47,
        43,
        7,
        25,
        46,
        18,
        33,
        3,
        39,
        11,
        5,
        24,
        14,
        10,
        93,
        85,
        76,
        65,
        50,
        68,
        80,
        60,
        54,
        88,
        71,
        67,
        79,
        49,
        70,
        90,
        57,
        75,
        63,
        83,
        77,
        48,
        86,
        82,
        69,
        61,
        52,
        89,
        74,
        92,
        56,
        84,
        78,
        64,
        95,
        91,
        55,
        73,
        94,
        66,
        81,
        51,
        87,
        59,
        53,
        72,
        62,
        58,
    ],
    [
        46,
        16,
        7,
        34,
        11,
        9,
        41,
        26,
        47,
        29,
        3,
        28,
        43,
        44,
        42,
        21,
        25,
        6,
        14,
        12,
        13,
        39,
        0,
        8,
        22,
        40,
        31,
        10,
        35,
        33,
        17,
        2,
        23,
        5,
        27,
        4,
        19,
        20,
        18,
        45,
        1,
        30,
        38,
        36,
        37,
        15,
        24,
        32,
        94,
        64,
        55,
        82,
        59,
        57,
        89,
        74,
        95,
        77,
        51,
        76,
        91,
        92,
        90,
        69,
        73,
        54,
        62,
        60,
        61,
        87,
        48,
        56,
        70,
        88,
        79,
        58,
        83,
        81,
        65,
        50,
        71,
        53,
        75,
        52,
        67,
        68,
        66,
        93,
        49,
        78,
        86,
        84,
        85,
        63,
        72,
        80,
    ],
    [
        47,
        14,
        9,
        36,
        39,
        31,
        13,
        5,
        22,
        26,
        19,
        21,
        3,
        30,
        25,
        4,
        18,
        44,
        40,
        34,
        17,
        35,
        32,
        0,
        23,
        38,
        33,
        12,
        15,
        7,
        37,
        29,
        46,
        2,
        43,
        45,
        27,
        6,
        1,
        28,
        42,
        20,
        16,
        10,
        41,
        11,
        8,
        24,
        95,
        62,
        57,
        84,
        87,
        79,
        61,
        53,
        70,
        74,
        67,
        69,
        51,
        78,
        73,
        52,
        66,
        92,
        88,
        82,
        65,
        83,
        80,
        48,
        71,
        86,
        81,
        60,
        63,
        55,
        85,
        77,
        94,
        50,
        91,
        93,
        75,
        54,
        49,
        76,
        90,
        68,
        64,
        58,
        89,
        59,
        56,
        72,
    ],
    [
        48,
        49,
        50,
        51,
        52,
        53,
        54,
        55,
        56,
        57,
        58,
        59,
        60,
        61,
        62,
        63,
        64,
        65,
        66,
        67,
        68,
        69,
        70,
        71,
        72,
        73,
        74,
        75,
        76,
        77,
        78,
        79,
        80,
        81,
        82,
        83,
        84,
        85,
        86,
        87,
        88,
        89,
        90,
        91,
        92,
        93,
        94,
        95,
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10,
        11,
        12,
        13,
        14,
        15,
        16,
        17,
        18,
        19,
        20,
        21,
        22,
        23,
        24,
        25,
        26,
        27,
        28,
        29,
        30,
        31,
        32,
        33,
        34,
        35,
        36,
        37,
        38,
        39,
        40,
        41,
        42,
        43,
        44,
        45,
        46,
        47,
    ],
    [
        49,
        50,
        75,
        48,
        58,
        66,
        60,
        63,
        91,
        65,
        68,
        57,
        93,
        55,
        52,
        71,
        54,
        70,
        56,
        53,
        86,
        64,
        83,
        85,
        73,
        74,
        51,
        72,
        82,
        90,
        84,
        87,
        67,
        89,
        92,
        81,
        69,
        79,
        76,
        95,
        78,
        94,
        80,
        77,
        62,
        88,
        59,
        61,
        1,
        2,
        27,
        0,
        10,
        18,
        12,
        15,
        43,
        17,
        20,
        9,
        45,
        7,
        4,
        23,
        6,
        22,
        8,
        5,
        38,
        16,
        35,
        37,
        25,
        26,
        3,
        24,
        34,
        42,
        36,
        39,
        19,
        41,
        44,
        33,
        21,
        31,
        28,
        47,
        30,
        46,
        32,
        29,
        14,
        40,
        11,
        13,
    ],
    [
        50,
        75,
        72,
        49,
        68,
        56,
        93,
        71,
        77,
        70,
        86,
        65,
        88,
        63,
        58,
        85,
        60,
        83,
        91,
        66,
        76,
        54,
        81,
        79,
        74,
        51,
        48,
        73,
        92,
        80,
        69,
        95,
        53,
        94,
        62,
        89,
        64,
        87,
        82,
        61,
        84,
        59,
        67,
        90,
        52,
        78,
        57,
        55,
        2,
        27,
        24,
        1,
        20,
        8,
        45,
        23,
        29,
        22,
        38,
        17,
        40,
        15,
        10,
        37,
        12,
        35,
        43,
        18,
        28,
        6,
        33,
        31,
        26,
        3,
        0,
        25,
        44,
        32,
        21,
        47,
        5,
        46,
        14,
        41,
        16,
        39,
        34,
        13,
        36,
        11,
        19,
        42,
        4,
        30,
        9,
        7,
    ],
    [
        51,
        48,
        49,
        74,
        62,
        67,
        64,
        61,
        66,
        59,
        52,
        94,
        54,
        95,
        92,
        55,
        69,
        57,
        53,
        80,
        58,
        84,
        65,
        63,
        75,
        72,
        73,
        50,
        86,
        91,
        88,
        85,
        90,
        83,
        76,
        70,
        78,
        71,
        68,
        79,
        93,
        81,
        77,
        56,
        82,
        60,
        89,
        87,
        3,
        0,
        1,
        26,
        14,
        19,
        16,
        13,
        18,
        11,
        4,
        46,
        6,
        47,
        44,
        7,
        21,
        9,
        5,
        32,
        10,
        36,
        17,
        15,
        27,
        24,
        25,
        2,
        38,
        43,
        40,
        37,
        42,
        35,
        28,
        22,
        30,
        23,
        20,
        31,
        45,
        33,
        29,
        8,
        34,
        12,
        41,
        39,
    ],
    [
        52,
        65,
        93,
        61,
        53,
        78,
        48,
        58,
        68,
        62,
        70,
        51,
        57,
        66,
        95,
        49,
        55,
        67,
        83,
        87,
        50,
        56,
        88,
        60,
        76,
        89,
        69,
        85,
        77,
        54,
        72,
        82,
        92,
        86,
        94,
        75,
        81,
        90,
        71,
        73,
        79,
        91,
        59,
        63,
        74,
        80,
        64,
        84,
        4,
        17,
        45,
        13,
        5,
        30,
        0,
        10,
        20,
        14,
        22,
        3,
        9,
        18,
        47,
        1,
        7,
        19,
        35,
        39,
        2,
        8,
        40,
        12,
        28,
        41,
        21,
        37,
        29,
        6,
        24,
        34,
        44,
        38,
        46,
        27,
        33,
        42,
        23,
        25,
        31,
        43,
        11,
        15,
        26,
        32,
        16,
        36,
    ],
    [
        53,
        67,
        80,
        66,
        78,
        72,
        52,
        70,
        50,
        95,
        88,
        61,
        62,
        83,
        84,
        65,
        58,
        87,
        75,
        73,
        93,
        68,
        79,
        57,
        77,
        91,
        56,
        90,
        54,
        48,
        76,
        94,
        74,
        71,
        64,
        85,
        86,
        59,
        60,
        89,
        82,
        63,
        51,
        49,
        69,
        92,
        55,
        81,
        5,
        19,
        32,
        18,
        30,
        24,
        4,
        22,
        2,
        47,
        40,
        13,
        14,
        35,
        36,
        17,
        10,
        39,
        27,
        25,
        45,
        20,
        31,
        9,
        29,
        43,
        8,
        42,
        6,
        0,
        28,
        46,
        26,
        23,
        16,
        37,
        38,
        11,
        12,
        41,
        34,
        15,
        3,
        1,
        21,
        44,
        7,
        33,
    ],
    [
        54,
        63,
        68,
        59,
        48,
        52,
        77,
        64,
        69,
        60,
        55,
        90,
        71,
        51,
        57,
        91,
        94,
        49,
        61,
        65,
        56,
        74,
        58,
        86,
        78,
        87,
        92,
        83,
        72,
        76,
        53,
        88,
        93,
        84,
        79,
        66,
        95,
        75,
        81,
        67,
        70,
        73,
        85,
        89,
        80,
        50,
        82,
        62,
        6,
        15,
        20,
        11,
        0,
        4,
        29,
        16,
        21,
        12,
        7,
        42,
        23,
        3,
        9,
        43,
        46,
        1,
        13,
        17,
        8,
        26,
        10,
        38,
        30,
        39,
        44,
        35,
        24,
        28,
        5,
        40,
        45,
        36,
        31,
        18,
        47,
        27,
        33,
        19,
        22,
        25,
        37,
        41,
        32,
        2,
        34,
        14,
    ],
    [
        55,
        58,
        70,
        64,
        61,
        95,
        63,
        56,
        81,
        48,
        66,
        54,
        49,
        69,
        51,
        68,
        91,
        52,
        84,
        62,
        83,
        89,
        53,
        50,
        79,
        82,
        94,
        88,
        85,
        71,
        87,
        80,
        57,
        72,
        90,
        78,
        73,
        93,
        75,
        92,
        67,
        76,
        60,
        86,
        59,
        65,
        77,
        74,
        7,
        10,
        22,
        16,
        13,
        47,
        15,
        8,
        33,
        0,
        18,
        6,
        1,
        21,
        3,
        20,
        43,
        4,
        36,
        14,
        35,
        41,
        5,
        2,
        31,
        34,
        46,
        40,
        37,
        23,
        39,
        32,
        9,
        24,
        42,
        30,
        25,
        45,
        27,
        44,
        19,
        28,
        12,
        38,
        11,
        17,
        29,
        26,
    ],
    [
        56,
        66,
        53,
        91,
        69,
        74,
        68,
        81,
        72,
        55,
        84,
        63,
        58,
        89,
        64,
        83,
        86,
        61,
        73,
        51,
        78,
        76,
        95,
        70,
        80,
        90,
        77,
        67,
        93,
        50,
        92,
        57,
        48,
        79,
        60,
        87,
        82,
        65,
        88,
        59,
        62,
        85,
        49,
        75,
        54,
        52,
        71,
        94,
        8,
        18,
        5,
        43,
        21,
        26,
        20,
        33,
        24,
        7,
        36,
        15,
        10,
        41,
        16,
        35,
        38,
        13,
        25,
        3,
        30,
        28,
        47,
        22,
        32,
        42,
        29,
        19,
        45,
        2,
        44,
        9,
        0,
        31,
        12,
        39,
        34,
        17,
        40,
        11,
        14,
        37,
        1,
        27,
        6,
        4,
        23,
        46,
    ],
    [
        57,
        60,
        71,
        62,
        65,
        70,
        59,
        48,
        55,
        80,
        49,
        92,
        90,
        52,
        67,
        54,
        51,
        93,
        58,
        88,
        63,
        61,
        50,
        77,
        81,
        84,
        95,
        86,
        89,
        94,
        83,
        72,
        79,
        56,
        73,
        68,
        66,
        76,
        91,
        78,
        75,
        69,
        82,
        64,
        87,
        85,
        74,
        53,
        9,
        12,
        23,
        14,
        17,
        22,
        11,
        0,
        7,
        32,
        1,
        44,
        42,
        4,
        19,
        6,
        3,
        45,
        10,
        40,
        15,
        13,
        2,
        29,
        33,
        36,
        47,
        38,
        41,
        46,
        35,
        24,
        31,
        8,
        25,
        20,
        18,
        28,
        43,
        30,
        27,
        21,
        34,
        16,
        39,
        37,
        26,
        5,
    ],
    [
        58,
        70,
        88,
        55,
        66,
        84,
        49,
        68,
        86,
        52,
        83,
        48,
        65,
        56,
        61,
        50,
        63,
        53,
        81,
        95,
        75,
        91,
        78,
        93,
        82,
        94,
        64,
        79,
        90,
        60,
        73,
        92,
        62,
        76,
        59,
        72,
        89,
        80,
        85,
        74,
        87,
        77,
        57,
        71,
        51,
        67,
        54,
        69,
        10,
        22,
        40,
        7,
        18,
        36,
        1,
        20,
        38,
        4,
        35,
        0,
        17,
        8,
        13,
        2,
        15,
        5,
        33,
        47,
        27,
        43,
        30,
        45,
        34,
        46,
        16,
        31,
        42,
        12,
        25,
        44,
        14,
        28,
        11,
        24,
        41,
        32,
        37,
        26,
        39,
        29,
        9,
        23,
        3,
        19,
        6,
        21,
    ],
    [
        59,
        54,
        63,
        92,
        57,
        65,
        94,
        51,
        61,
        90,
        48,
        82,
        77,
        62,
        80,
        64,
        74,
        60,
        52,
        93,
        55,
        95,
        49,
        91,
        83,
        78,
        87,
        68,
        81,
        89,
        70,
        75,
        85,
        66,
        72,
        58,
        53,
        86,
        56,
        88,
        50,
        84,
        76,
        69,
        79,
        71,
        73,
        67,
        11,
        6,
        15,
        44,
        9,
        17,
        46,
        3,
        13,
        42,
        0,
        34,
        29,
        14,
        32,
        16,
        26,
        12,
        4,
        45,
        7,
        47,
        1,
        43,
        35,
        30,
        39,
        20,
        33,
        41,
        22,
        27,
        37,
        18,
        24,
        10,
        5,
        38,
        8,
        40,
        2,
        36,
        28,
        21,
        31,
        23,
        25,
        19,
    ],
    [
        60,
        71,
        86,
        57,
        49,
        58,
        90,
        54,
        64,
        93,
        63,
        80,
        85,
        48,
        65,
        77,
        59,
        50,
        55,
        70,
        91,
        51,
        68,
        76,
        84,
        95,
        62,
        81,
        73,
        82,
        66,
        78,
        88,
        69,
        87,
        56,
        61,
        72,
        89,
        53,
        83,
        74,
        79,
        94,
        67,
        75,
        92,
        52,
        12,
        23,
        38,
        9,
        1,
        10,
        42,
        6,
        16,
        45,
        15,
        32,
        37,
        0,
        17,
        29,
        11,
        2,
        7,
        22,
        43,
        3,
        20,
        28,
        36,
        47,
        14,
        33,
        25,
        34,
        18,
        30,
        40,
        21,
        39,
        8,
        13,
        24,
        41,
        5,
        35,
        26,
        31,
        46,
        19,
        27,
        44,
        4,
    ],
    [
        61,
        52,
        65,
        69,
        95,
        87,
        55,
        66,
        83,
        51,
        53,
        64,
        48,
        84,
        74,
        58,
        56,
        62,
        78,
        92,
        70,
        81,
        67,
        49,
        85,
        76,
        89,
        93,
        71,
        63,
        79,
        90,
        59,
        75,
        77,
        88,
        72,
        60,
        50,
        82,
        80,
        86,
        54,
        68,
        94,
        57,
        91,
        73,
        13,
        4,
        17,
        21,
        47,
        39,
        7,
        18,
        35,
        3,
        5,
        16,
        0,
        36,
        26,
        10,
        8,
        14,
        30,
        44,
        22,
        33,
        19,
        1,
        37,
        28,
        41,
        45,
        23,
        15,
        31,
        42,
        11,
        27,
        29,
        40,
        24,
        12,
        2,
        34,
        32,
        38,
        6,
        20,
        46,
        9,
        43,
        25,
    ],
    [
        62,
        57,
        60,
        95,
        67,
        88,
        51,
        52,
        58,
        92,
        65,
        74,
        59,
        53,
        87,
        48,
        61,
        80,
        70,
        79,
        49,
        66,
        93,
        54,
        86,
        81,
        84,
        71,
        91,
        64,
        75,
        76,
        82,
        68,
        89,
        50,
        83,
        77,
        63,
        72,
        85,
        56,
        94,
        55,
        73,
        90,
        69,
        78,
        14,
        9,
        12,
        47,
        19,
        40,
        3,
        4,
        10,
        44,
        17,
        26,
        11,
        5,
        39,
        0,
        13,
        32,
        22,
        31,
        1,
        18,
        45,
        6,
        38,
        33,
        36,
        23,
        43,
        16,
        27,
        28,
        34,
        20,
        41,
        2,
        35,
        29,
        15,
        24,
        37,
        8,
        46,
        7,
        25,
        42,
        21,
        30,
    ],
    [
        63,
        68,
        83,
        54,
        55,
        61,
        71,
        91,
        89,
        49,
        56,
        60,
        50,
        64,
        48,
        86,
        77,
        58,
        69,
        52,
        81,
        94,
        66,
        75,
        87,
        92,
        59,
        78,
        79,
        85,
        95,
        67,
        65,
        73,
        80,
        84,
        74,
        88,
        72,
        62,
        53,
        82,
        93,
        76,
        57,
        70,
        90,
        51,
        15,
        20,
        35,
        6,
        7,
        13,
        23,
        43,
        41,
        1,
        8,
        12,
        2,
        16,
        0,
        38,
        29,
        10,
        21,
        4,
        33,
        46,
        18,
        27,
        39,
        44,
        11,
        30,
        31,
        37,
        47,
        19,
        17,
        25,
        32,
        36,
        26,
        40,
        24,
        14,
        5,
        34,
        45,
        28,
        9,
        22,
        42,
        3,
    ],
    [
        64,
        55,
        58,
        94,
        51,
        62,
        91,
        69,
        84,
        54,
        61,
        77,
        63,
        74,
        59,
        56,
        89,
        48,
        95,
        57,
        66,
        73,
        52,
        68,
        88,
        79,
        82,
        70,
        75,
        86,
        67,
        93,
        60,
        78,
        85,
        53,
        87,
        50,
        83,
        80,
        65,
        72,
        71,
        81,
        90,
        49,
        76,
        92,
        16,
        7,
        10,
        46,
        3,
        14,
        43,
        21,
        36,
        6,
        13,
        29,
        15,
        26,
        11,
        8,
        41,
        0,
        47,
        9,
        18,
        25,
        4,
        20,
        40,
        31,
        34,
        22,
        27,
        38,
        19,
        45,
        12,
        30,
        37,
        5,
        39,
        2,
        35,
        32,
        17,
        24,
        23,
        33,
        42,
        1,
        28,
        44,
    ],
    [
        65,
        93,
        85,
        52,
        70,
        83,
        57,
        49,
        63,
        67,
        50,
        62,
        80,
        58,
        53,
        60,
        48,
        88,
        68,
        78,
        71,
        55,
        75,
        90,
        89,
        69,
        61,
        76,
        94,
        59,
        81,
        73,
        87,
        91,
        74,
        86,
        56,
        82,
        77,
        84,
        72,
        64,
        92,
        54,
        95,
        79,
        51,
        66,
        17,
        45,
        37,
        4,
        22,
        35,
        9,
        1,
        15,
        19,
        2,
        14,
        32,
        10,
        5,
        12,
        0,
        40,
        20,
        30,
        23,
        7,
        27,
        42,
        41,
        21,
        13,
        28,
        46,
        11,
        33,
        25,
        39,
        43,
        26,
        38,
        8,
        34,
        29,
        36,
        24,
        16,
        44,
        6,
        47,
        31,
        3,
        18,
    ],
    [
        66,
        53,
        67,
        56,
        84,
        73,
        58,
        83,
        75,
        61,
        78,
        55,
        52,
        81,
        69,
        70,
        68,
        95,
        72,
        74,
        88,
        86,
        87,
        65,
        90,
        77,
        91,
        80,
        60,
        49,
        82,
        59,
        51,
        85,
        54,
        79,
        76,
        57,
        93,
        94,
        92,
        71,
        48,
        50,
        64,
        62,
        63,
        89,
        18,
        5,
        19,
        8,
        36,
        25,
        10,
        35,
        27,
        13,
        30,
        7,
        4,
        33,
        21,
        22,
        20,
        47,
        24,
        26,
        40,
        38,
        39,
        17,
        42,
        29,
        43,
        32,
        12,
        1,
        34,
        11,
        3,
        37,
        6,
        31,
        28,
        9,
        45,
        46,
        44,
        23,
        0,
        2,
        16,
        14,
        15,
        41,
    ],
    [
        67,
        80,
        90,
        53,
        88,
        75,
        62,
        65,
        49,
        87,
        93,
        95,
        92,
        70,
        78,
        57,
        52,
        79,
        50,
        72,
        60,
        58,
        85,
        59,
        91,
        56,
        66,
        77,
        64,
        51,
        86,
        89,
        73,
        63,
        69,
        71,
        68,
        94,
        54,
        81,
        76,
        55,
        74,
        48,
        84,
        82,
        61,
        83,
        19,
        32,
        42,
        5,
        40,
        27,
        14,
        17,
        1,
        39,
        45,
        47,
        44,
        22,
        30,
        9,
        4,
        31,
        2,
        24,
        12,
        10,
        37,
        11,
        43,
        8,
        18,
        29,
        16,
        3,
        38,
        41,
        25,
        15,
        21,
        23,
        20,
        46,
        6,
        33,
        28,
        7,
        26,
        0,
        36,
        34,
        13,
        35,
    ],
    [
        68,
        83,
        78,
        63,
        56,
        69,
        50,
        86,
        76,
        58,
        81,
        49,
        70,
        91,
        55,
        75,
        71,
        66,
        89,
        61,
        72,
        77,
        84,
        88,
        92,
        59,
        54,
        87,
        80,
        93,
        74,
        62,
        52,
        82,
        57,
        73,
        94,
        67,
        79,
        51,
        95,
        90,
        65,
        85,
        48,
        53,
        60,
        64,
        20,
        35,
        30,
        15,
        8,
        21,
        2,
        38,
        28,
        10,
        33,
        1,
        22,
        43,
        7,
        27,
        23,
        18,
        41,
        13,
        24,
        29,
        36,
        40,
        44,
        11,
        6,
        39,
        32,
        45,
        26,
        14,
        4,
        34,
        9,
        25,
        46,
        19,
        31,
        3,
        47,
        42,
        17,
        37,
        0,
        5,
        12,
        16,
    ],
    [
        69,
        61,
        52,
        89,
        74,
        92,
        56,
        84,
        78,
        64,
        95,
        91,
        55,
        73,
        94,
        66,
        81,
        51,
        87,
        59,
        53,
        72,
        62,
        58,
        93,
        85,
        76,
        65,
        50,
        68,
        80,
        60,
        54,
        88,
        71,
        67,
        79,
        49,
        70,
        90,
        57,
        75,
        63,
        83,
        77,
        48,
        86,
        82,
        21,
        13,
        4,
        41,
        26,
        44,
        8,
        36,
        30,
        16,
        47,
        43,
        7,
        25,
        46,
        18,
        33,
        3,
        39,
        11,
        5,
        24,
        14,
        10,
        45,
        37,
        28,
        17,
        2,
        20,
        32,
        12,
        6,
        40,
        23,
        19,
        31,
        1,
        22,
        42,
        9,
        27,
        15,
        35,
        29,
        0,
        38,
        34,
    ],
    [
        70,
        88,
        79,
        58,
        83,
        81,
        65,
        50,
        71,
        53,
        75,
        52,
        67,
        68,
        66,
        93,
        49,
        78,
        86,
        84,
        85,
        63,
        72,
        80,
        94,
        64,
        55,
        82,
        59,
        57,
        89,
        74,
        95,
        77,
        51,
        76,
        91,
        92,
        90,
        69,
        73,
        54,
        62,
        60,
        61,
        87,
        48,
        56,
        22,
        40,
        31,
        10,
        35,
        33,
        17,
        2,
        23,
        5,
        27,
        4,
        19,
        20,
        18,
        45,
        1,
        30,
        38,
        36,
        37,
        15,
        24,
        32,
        46,
        16,
        7,
        34,
        11,
        9,
        41,
        26,
        47,
        29,
        3,
        28,
        43,
        44,
        42,
        21,
        25,
        6,
        14,
        12,
        13,
        39,
        0,
        8,
    ],
    [
        71,
        86,
        81,
        60,
        63,
        55,
        85,
        77,
        94,
        50,
        91,
        93,
        75,
        54,
        49,
        76,
        90,
        68,
        64,
        58,
        89,
        59,
        56,
        72,
        95,
        62,
        57,
        84,
        87,
        79,
        61,
        53,
        70,
        74,
        67,
        69,
        51,
        78,
        73,
        52,
        66,
        92,
        88,
        82,
        65,
        83,
        80,
        48,
        23,
        38,
        33,
        12,
        15,
        7,
        37,
        29,
        46,
        2,
        43,
        45,
        27,
        6,
        1,
        28,
        42,
        20,
        16,
        10,
        41,
        11,
        8,
        24,
        47,
        14,
        9,
        36,
        39,
        31,
        13,
        5,
        22,
        26,
        19,
        21,
        3,
        30,
        25,
        4,
        18,
        44,
        40,
        34,
        17,
        35,
        32,
        0,
    ],
    [
        72,
        73,
        74,
        75,
        76,
        77,
        78,
        79,
        80,
        81,
        82,
        83,
        84,
        85,
        86,
        87,
        88,
        89,
        90,
        91,
        92,
        93,
        94,
        95,
        48,
        49,
        50,
        51,
        52,
        53,
        54,
        55,
        56,
        57,
        58,
        59,
        60,
        61,
        62,
        63,
        64,
        65,
        66,
        67,
        68,
        69,
        70,
        71,
        24,
        25,
        26,
        27,
        28,
        29,
        30,
        31,
        32,
        33,
        34,
        35,
        36,
        37,
        38,
        39,
        40,
        41,
        42,
        43,
        44,
        45,
        46,
        47,
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10,
        11,
        12,
        13,
        14,
        15,
        16,
        17,
        18,
        19,
        20,
        21,
        22,
        23,
    ],
    [
        73,
        74,
        51,
        72,
        82,
        90,
        84,
        87,
        67,
        89,
        92,
        81,
        69,
        79,
        76,
        95,
        78,
        94,
        80,
        77,
        62,
        88,
        59,
        61,
        49,
        50,
        75,
        48,
        58,
        66,
        60,
        63,
        91,
        65,
        68,
        57,
        93,
        55,
        52,
        71,
        54,
        70,
        56,
        53,
        86,
        64,
        83,
        85,
        25,
        26,
        3,
        24,
        34,
        42,
        36,
        39,
        19,
        41,
        44,
        33,
        21,
        31,
        28,
        47,
        30,
        46,
        32,
        29,
        14,
        40,
        11,
        13,
        1,
        2,
        27,
        0,
        10,
        18,
        12,
        15,
        43,
        17,
        20,
        9,
        45,
        7,
        4,
        23,
        6,
        22,
        8,
        5,
        38,
        16,
        35,
        37,
    ],
    [
        74,
        51,
        48,
        73,
        92,
        80,
        69,
        95,
        53,
        94,
        62,
        89,
        64,
        87,
        82,
        61,
        84,
        59,
        67,
        90,
        52,
        78,
        57,
        55,
        50,
        75,
        72,
        49,
        68,
        56,
        93,
        71,
        77,
        70,
        86,
        65,
        88,
        63,
        58,
        85,
        60,
        83,
        91,
        66,
        76,
        54,
        81,
        79,
        26,
        3,
        0,
        25,
        44,
        32,
        21,
        47,
        5,
        46,
        14,
        41,
        16,
        39,
        34,
        13,
        36,
        11,
        19,
        42,
        4,
        30,
        9,
        7,
        2,
        27,
        24,
        1,
        20,
        8,
        45,
        23,
        29,
        22,
        38,
        17,
        40,
        15,
        10,
        37,
        12,
        35,
        43,
        18,
        28,
        6,
        33,
        31,
    ],
    [
        75,
        72,
        73,
        50,
        86,
        91,
        88,
        85,
        90,
        83,
        76,
        70,
        78,
        71,
        68,
        79,
        93,
        81,
        77,
        56,
        82,
        60,
        89,
        87,
        51,
        48,
        49,
        74,
        62,
        67,
        64,
        61,
        66,
        59,
        52,
        94,
        54,
        95,
        92,
        55,
        69,
        57,
        53,
        80,
        58,
        84,
        65,
        63,
        27,
        24,
        25,
        2,
        38,
        43,
        40,
        37,
        42,
        35,
        28,
        22,
        30,
        23,
        20,
        31,
        45,
        33,
        29,
        8,
        34,
        12,
        41,
        39,
        3,
        0,
        1,
        26,
        14,
        19,
        16,
        13,
        18,
        11,
        4,
        46,
        6,
        47,
        44,
        7,
        21,
        9,
        5,
        32,
        10,
        36,
        17,
        15,
    ],
    [
        76,
        89,
        69,
        85,
        77,
        54,
        72,
        82,
        92,
        86,
        94,
        75,
        81,
        90,
        71,
        73,
        79,
        91,
        59,
        63,
        74,
        80,
        64,
        84,
        52,
        65,
        93,
        61,
        53,
        78,
        48,
        58,
        68,
        62,
        70,
        51,
        57,
        66,
        95,
        49,
        55,
        67,
        83,
        87,
        50,
        56,
        88,
        60,
        28,
        41,
        21,
        37,
        29,
        6,
        24,
        34,
        44,
        38,
        46,
        27,
        33,
        42,
        23,
        25,
        31,
        43,
        11,
        15,
        26,
        32,
        16,
        36,
        4,
        17,
        45,
        13,
        5,
        30,
        0,
        10,
        20,
        14,
        22,
        3,
        9,
        18,
        47,
        1,
        7,
        19,
        35,
        39,
        2,
        8,
        40,
        12,
    ],
    [
        77,
        91,
        56,
        90,
        54,
        48,
        76,
        94,
        74,
        71,
        64,
        85,
        86,
        59,
        60,
        89,
        82,
        63,
        51,
        49,
        69,
        92,
        55,
        81,
        53,
        67,
        80,
        66,
        78,
        72,
        52,
        70,
        50,
        95,
        88,
        61,
        62,
        83,
        84,
        65,
        58,
        87,
        75,
        73,
        93,
        68,
        79,
        57,
        29,
        43,
        8,
        42,
        6,
        0,
        28,
        46,
        26,
        23,
        16,
        37,
        38,
        11,
        12,
        41,
        34,
        15,
        3,
        1,
        21,
        44,
        7,
        33,
        5,
        19,
        32,
        18,
        30,
        24,
        4,
        22,
        2,
        47,
        40,
        13,
        14,
        35,
        36,
        17,
        10,
        39,
        27,
        25,
        45,
        20,
        31,
        9,
    ],
    [
        78,
        87,
        92,
        83,
        72,
        76,
        53,
        88,
        93,
        84,
        79,
        66,
        95,
        75,
        81,
        67,
        70,
        73,
        85,
        89,
        80,
        50,
        82,
        62,
        54,
        63,
        68,
        59,
        48,
        52,
        77,
        64,
        69,
        60,
        55,
        90,
        71,
        51,
        57,
        91,
        94,
        49,
        61,
        65,
        56,
        74,
        58,
        86,
        30,
        39,
        44,
        35,
        24,
        28,
        5,
        40,
        45,
        36,
        31,
        18,
        47,
        27,
        33,
        19,
        22,
        25,
        37,
        41,
        32,
        2,
        34,
        14,
        6,
        15,
        20,
        11,
        0,
        4,
        29,
        16,
        21,
        12,
        7,
        42,
        23,
        3,
        9,
        43,
        46,
        1,
        13,
        17,
        8,
        26,
        10,
        38,
    ],
    [
        79,
        82,
        94,
        88,
        85,
        71,
        87,
        80,
        57,
        72,
        90,
        78,
        73,
        93,
        75,
        92,
        67,
        76,
        60,
        86,
        59,
        65,
        77,
        74,
        55,
        58,
        70,
        64,
        61,
        95,
        63,
        56,
        81,
        48,
        66,
        54,
        49,
        69,
        51,
        68,
        91,
        52,
        84,
        62,
        83,
        89,
        53,
        50,
        31,
        34,
        46,
        40,
        37,
        23,
        39,
        32,
        9,
        24,
        42,
        30,
        25,
        45,
        27,
        44,
        19,
        28,
        12,
        38,
        11,
        17,
        29,
        26,
        7,
        10,
        22,
        16,
        13,
        47,
        15,
        8,
        33,
        0,
        18,
        6,
        1,
        21,
        3,
        20,
        43,
        4,
        36,
        14,
        35,
        41,
        5,
        2,
    ],
    [
        80,
        90,
        77,
        67,
        93,
        50,
        92,
        57,
        48,
        79,
        60,
        87,
        82,
        65,
        88,
        59,
        62,
        85,
        49,
        75,
        54,
        52,
        71,
        94,
        56,
        66,
        53,
        91,
        69,
        74,
        68,
        81,
        72,
        55,
        84,
        63,
        58,
        89,
        64,
        83,
        86,
        61,
        73,
        51,
        78,
        76,
        95,
        70,
        32,
        42,
        29,
        19,
        45,
        2,
        44,
        9,
        0,
        31,
        12,
        39,
        34,
        17,
        40,
        11,
        14,
        37,
        1,
        27,
        6,
        4,
        23,
        46,
        8,
        18,
        5,
        43,
        21,
        26,
        20,
        33,
        24,
        7,
        36,
        15,
        10,
        41,
        16,
        35,
        38,
        13,
        25,
        3,
        30,
        28,
        47,
        22,
    ],
    [
        81,
        84,
        95,
        86,
        89,
        94,
        83,
        72,
        79,
        56,
        73,
        68,
        66,
        76,
        91,
        78,
        75,
        69,
        82,
        64,
        87,
        85,
        74,
        53,
        57,
        60,
        71,
        62,
        65,
        70,
        59,
        48,
        55,
        80,
        49,
        92,
        90,
        52,
        67,
        54,
        51,
        93,
        58,
        88,
        63,
        61,
        50,
        77,
        33,
        36,
        47,
        38,
        41,
        46,
        35,
        24,
        31,
        8,
        25,
        20,
        18,
        28,
        43,
        30,
        27,
        21,
        34,
        16,
        39,
        37,
        26,
        5,
        9,
        12,
        23,
        14,
        17,
        22,
        11,
        0,
        7,
        32,
        1,
        44,
        42,
        4,
        19,
        6,
        3,
        45,
        10,
        40,
        15,
        13,
        2,
        29,
    ],
    [
        82,
        94,
        64,
        79,
        90,
        60,
        73,
        92,
        62,
        76,
        59,
        72,
        89,
        80,
        85,
        74,
        87,
        77,
        57,
        71,
        51,
        67,
        54,
        69,
        58,
        70,
        88,
        55,
        66,
        84,
        49,
        68,
        86,
        52,
        83,
        48,
        65,
        56,
        61,
        50,
        63,
        53,
        81,
        95,
        75,
        91,
        78,
        93,
        34,
        46,
        16,
        31,
        42,
        12,
        25,
        44,
        14,
        28,
        11,
        24,
        41,
        32,
        37,
        26,
        39,
        29,
        9,
        23,
        3,
        19,
        6,
        21,
        10,
        22,
        40,
        7,
        18,
        36,
        1,
        20,
        38,
        4,
        35,
        0,
        17,
        8,
        13,
        2,
        15,
        5,
        33,
        47,
        27,
        43,
        30,
        45,
    ],
    [
        83,
        78,
        87,
        68,
        81,
        89,
        70,
        75,
        85,
        66,
        72,
        58,
        53,
        86,
        56,
        88,
        50,
        84,
        76,
        69,
        79,
        71,
        73,
        67,
        59,
        54,
        63,
        92,
        57,
        65,
        94,
        51,
        61,
        90,
        48,
        82,
        77,
        62,
        80,
        64,
        74,
        60,
        52,
        93,
        55,
        95,
        49,
        91,
        35,
        30,
        39,
        20,
        33,
        41,
        22,
        27,
        37,
        18,
        24,
        10,
        5,
        38,
        8,
        40,
        2,
        36,
        28,
        21,
        31,
        23,
        25,
        19,
        11,
        6,
        15,
        44,
        9,
        17,
        46,
        3,
        13,
        42,
        0,
        34,
        29,
        14,
        32,
        16,
        26,
        12,
        4,
        45,
        7,
        47,
        1,
        43,
    ],
    [
        84,
        95,
        62,
        81,
        73,
        82,
        66,
        78,
        88,
        69,
        87,
        56,
        61,
        72,
        89,
        53,
        83,
        74,
        79,
        94,
        67,
        75,
        92,
        52,
        60,
        71,
        86,
        57,
        49,
        58,
        90,
        54,
        64,
        93,
        63,
        80,
        85,
        48,
        65,
        77,
        59,
        50,
        55,
        70,
        91,
        51,
        68,
        76,
        36,
        47,
        14,
        33,
        25,
        34,
        18,
        30,
        40,
        21,
        39,
        8,
        13,
        24,
        41,
        5,
        35,
        26,
        31,
        46,
        19,
        27,
        44,
        4,
        12,
        23,
        38,
        9,
        1,
        10,
        42,
        6,
        16,
        45,
        15,
        32,
        37,
        0,
        17,
        29,
        11,
        2,
        7,
        22,
        43,
        3,
        20,
        28,
    ],
    [
        85,
        76,
        89,
        93,
        71,
        63,
        79,
        90,
        59,
        75,
        77,
        88,
        72,
        60,
        50,
        82,
        80,
        86,
        54,
        68,
        94,
        57,
        91,
        73,
        61,
        52,
        65,
        69,
        95,
        87,
        55,
        66,
        83,
        51,
        53,
        64,
        48,
        84,
        74,
        58,
        56,
        62,
        78,
        92,
        70,
        81,
        67,
        49,
        37,
        28,
        41,
        45,
        23,
        15,
        31,
        42,
        11,
        27,
        29,
        40,
        24,
        12,
        2,
        34,
        32,
        38,
        6,
        20,
        46,
        9,
        43,
        25,
        13,
        4,
        17,
        21,
        47,
        39,
        7,
        18,
        35,
        3,
        5,
        16,
        0,
        36,
        26,
        10,
        8,
        14,
        30,
        44,
        22,
        33,
        19,
        1,
    ],
    [
        86,
        81,
        84,
        71,
        91,
        64,
        75,
        76,
        82,
        68,
        89,
        50,
        83,
        77,
        63,
        72,
        85,
        56,
        94,
        55,
        73,
        90,
        69,
        78,
        62,
        57,
        60,
        95,
        67,
        88,
        51,
        52,
        58,
        92,
        65,
        74,
        59,
        53,
        87,
        48,
        61,
        80,
        70,
        79,
        49,
        66,
        93,
        54,
        38,
        33,
        36,
        23,
        43,
        16,
        27,
        28,
        34,
        20,
        41,
        2,
        35,
        29,
        15,
        24,
        37,
        8,
        46,
        7,
        25,
        42,
        21,
        30,
        14,
        9,
        12,
        47,
        19,
        40,
        3,
        4,
        10,
        44,
        17,
        26,
        11,
        5,
        39,
        0,
        13,
        32,
        22,
        31,
        1,
        18,
        45,
        6,
    ],
    [
        87,
        92,
        59,
        78,
        79,
        85,
        95,
        67,
        65,
        73,
        80,
        84,
        74,
        88,
        72,
        62,
        53,
        82,
        93,
        76,
        57,
        70,
        90,
        51,
        63,
        68,
        83,
        54,
        55,
        61,
        71,
        91,
        89,
        49,
        56,
        60,
        50,
        64,
        48,
        86,
        77,
        58,
        69,
        52,
        81,
        94,
        66,
        75,
        39,
        44,
        11,
        30,
        31,
        37,
        47,
        19,
        17,
        25,
        32,
        36,
        26,
        40,
        24,
        14,
        5,
        34,
        45,
        28,
        9,
        22,
        42,
        3,
        15,
        20,
        35,
        6,
        7,
        13,
        23,
        43,
        41,
        1,
        8,
        12,
        2,
        16,
        0,
        38,
        29,
        10,
        21,
        4,
        33,
        46,
        18,
        27,
    ],
    [
        88,
        79,
        82,
        70,
        75,
        86,
        67,
        93,
        60,
        78,
        85,
        53,
        87,
        50,
        83,
        80,
        65,
        72,
        71,
        81,
        90,
        49,
        76,
        92,
        64,
        55,
        58,
        94,
        51,
        62,
        91,
        69,
        84,
        54,
        61,
        77,
        63,
        74,
        59,
        56,
        89,
        48,
        95,
        57,
        66,
        73,
        52,
        68,
        40,
        31,
        34,
        22,
        27,
        38,
        19,
        45,
        12,
        30,
        37,
        5,
        39,
        2,
        35,
        32,
        17,
        24,
        23,
        33,
        42,
        1,
        28,
        44,
        16,
        7,
        10,
        46,
        3,
        14,
        43,
        21,
        36,
        6,
        13,
        29,
        15,
        26,
        11,
        8,
        41,
        0,
        47,
        9,
        18,
        25,
        4,
        20,
    ],
    [
        89,
        69,
        61,
        76,
        94,
        59,
        81,
        73,
        87,
        91,
        74,
        86,
        56,
        82,
        77,
        84,
        72,
        64,
        92,
        54,
        95,
        79,
        51,
        66,
        65,
        93,
        85,
        52,
        70,
        83,
        57,
        49,
        63,
        67,
        50,
        62,
        80,
        58,
        53,
        60,
        48,
        88,
        68,
        78,
        71,
        55,
        75,
        90,
        41,
        21,
        13,
        28,
        46,
        11,
        33,
        25,
        39,
        43,
        26,
        38,
        8,
        34,
        29,
        36,
        24,
        16,
        44,
        6,
        47,
        31,
        3,
        18,
        17,
        45,
        37,
        4,
        22,
        35,
        9,
        1,
        15,
        19,
        2,
        14,
        32,
        10,
        5,
        12,
        0,
        40,
        20,
        30,
        23,
        7,
        27,
        42,
    ],
    [
        90,
        77,
        91,
        80,
        60,
        49,
        82,
        59,
        51,
        85,
        54,
        79,
        76,
        57,
        93,
        94,
        92,
        71,
        48,
        50,
        64,
        62,
        63,
        89,
        66,
        53,
        67,
        56,
        84,
        73,
        58,
        83,
        75,
        61,
        78,
        55,
        52,
        81,
        69,
        70,
        68,
        95,
        72,
        74,
        88,
        86,
        87,
        65,
        42,
        29,
        43,
        32,
        12,
        1,
        34,
        11,
        3,
        37,
        6,
        31,
        28,
        9,
        45,
        46,
        44,
        23,
        0,
        2,
        16,
        14,
        15,
        41,
        18,
        5,
        19,
        8,
        36,
        25,
        10,
        35,
        27,
        13,
        30,
        7,
        4,
        33,
        21,
        22,
        20,
        47,
        24,
        26,
        40,
        38,
        39,
        17,
    ],
    [
        91,
        56,
        66,
        77,
        64,
        51,
        86,
        89,
        73,
        63,
        69,
        71,
        68,
        94,
        54,
        81,
        76,
        55,
        74,
        48,
        84,
        82,
        61,
        83,
        67,
        80,
        90,
        53,
        88,
        75,
        62,
        65,
        49,
        87,
        93,
        95,
        92,
        70,
        78,
        57,
        52,
        79,
        50,
        72,
        60,
        58,
        85,
        59,
        43,
        8,
        18,
        29,
        16,
        3,
        38,
        41,
        25,
        15,
        21,
        23,
        20,
        46,
        6,
        33,
        28,
        7,
        26,
        0,
        36,
        34,
        13,
        35,
        19,
        32,
        42,
        5,
        40,
        27,
        14,
        17,
        1,
        39,
        45,
        47,
        44,
        22,
        30,
        9,
        4,
        31,
        2,
        24,
        12,
        10,
        37,
        11,
    ],
    [
        92,
        59,
        54,
        87,
        80,
        93,
        74,
        62,
        52,
        82,
        57,
        73,
        94,
        67,
        79,
        51,
        95,
        90,
        65,
        85,
        48,
        53,
        60,
        64,
        68,
        83,
        78,
        63,
        56,
        69,
        50,
        86,
        76,
        58,
        81,
        49,
        70,
        91,
        55,
        75,
        71,
        66,
        89,
        61,
        72,
        77,
        84,
        88,
        44,
        11,
        6,
        39,
        32,
        45,
        26,
        14,
        4,
        34,
        9,
        25,
        46,
        19,
        31,
        3,
        47,
        42,
        17,
        37,
        0,
        5,
        12,
        16,
        20,
        35,
        30,
        15,
        8,
        21,
        2,
        38,
        28,
        10,
        33,
        1,
        22,
        43,
        7,
        27,
        23,
        18,
        41,
        13,
        24,
        29,
        36,
        40,
    ],
    [
        93,
        85,
        76,
        65,
        50,
        68,
        80,
        60,
        54,
        88,
        71,
        67,
        79,
        49,
        70,
        90,
        57,
        75,
        63,
        83,
        77,
        48,
        86,
        82,
        69,
        61,
        52,
        89,
        74,
        92,
        56,
        84,
        78,
        64,
        95,
        91,
        55,
        73,
        94,
        66,
        81,
        51,
        87,
        59,
        53,
        72,
        62,
        58,
        45,
        37,
        28,
        17,
        2,
        20,
        32,
        12,
        6,
        40,
        23,
        19,
        31,
        1,
        22,
        42,
        9,
        27,
        15,
        35,
        29,
        0,
        38,
        34,
        21,
        13,
        4,
        41,
        26,
        44,
        8,
        36,
        30,
        16,
        47,
        43,
        7,
        25,
        46,
        18,
        33,
        3,
        39,
        11,
        5,
        24,
        14,
        10,
    ],
    [
        94,
        64,
        55,
        82,
        59,
        57,
        89,
        74,
        95,
        77,
        51,
        76,
        91,
        92,
        90,
        69,
        73,
        54,
        62,
        60,
        61,
        87,
        48,
        56,
        70,
        88,
        79,
        58,
        83,
        81,
        65,
        50,
        71,
        53,
        75,
        52,
        67,
        68,
        66,
        93,
        49,
        78,
        86,
        84,
        85,
        63,
        72,
        80,
        46,
        16,
        7,
        34,
        11,
        9,
        41,
        26,
        47,
        29,
        3,
        28,
        43,
        44,
        42,
        21,
        25,
        6,
        14,
        12,
        13,
        39,
        0,
        8,
        22,
        40,
        31,
        10,
        35,
        33,
        17,
        2,
        23,
        5,
        27,
        4,
        19,
        20,
        18,
        45,
        1,
        30,
        38,
        36,
        37,
        15,
        24,
        32,
    ],
    [
        95,
        62,
        57,
        84,
        87,
        79,
        61,
        53,
        70,
        74,
        67,
        69,
        51,
        78,
        73,
        52,
        66,
        92,
        88,
        82,
        65,
        83,
        80,
        48,
        71,
        86,
        81,
        60,
        63,
        55,
        85,
        77,
        94,
        50,
        91,
        93,
        75,
        54,
        49,
        76,
        90,
        68,
        64,
        58,
        89,
        59,
        56,
        72,
        47,
        14,
        9,
        36,
        39,
        31,
        13,
        5,
        22,
        26,
        19,
        21,
        3,
        30,
        25,
        4,
        18,
        44,
        40,
        34,
        17,
        35,
        32,
        0,
        23,
        38,
        33,
        12,
        15,
        7,
        37,
        29,
        46,
        2,
        43,
        45,
        27,
        6,
        1,
        28,
        42,
        20,
        16,
        10,
        41,
        11,
        8,
        24,
    ],
]


def OhD_mul(ele1, ele2):
    id_ele1 = group_element.index(ele1)
    id_ele2 = group_element.index(ele2)
    return group_element[OhD_Multiply_table[id_ele1][id_ele2]]


def OhD_inv(ele):
    id_ele = group_element.index(ele)
    id_ele_inv = OhD_Multiply_table[id_ele].index(0)
    return group_element[id_ele_inv]


Fermion_rep = {
    "iden": Matrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]),
    "c4x": Matrix(
        [
            [sqrt(2) / 2, -sqrt(2) * I / 2, 0, 0],
            [-sqrt(2) * I / 2, sqrt(2) / 2, 0, 0],
            [0, 0, sqrt(2) / 2, -sqrt(2) * I / 2],
            [0, 0, -sqrt(2) * I / 2, sqrt(2) / 2],
        ]
    ),
    "c2x": Matrix([[0, -I, 0, 0], [-I, 0, 0, 0], [0, 0, 0, -I], [0, 0, -I, 0]]),
    "c4x^-1": Matrix(
        [
            [sqrt(2) / 2, sqrt(2) * I / 2, 0, 0],
            [sqrt(2) * I / 2, sqrt(2) / 2, 0, 0],
            [0, 0, sqrt(2) / 2, sqrt(2) * I / 2],
            [0, 0, sqrt(2) * I / 2, sqrt(2) / 2],
        ]
    ),
    "c4y": Matrix(
        [
            [sqrt(2) / 2, -sqrt(2) / 2, 0, 0],
            [sqrt(2) / 2, sqrt(2) / 2, 0, 0],
            [0, 0, sqrt(2) / 2, -sqrt(2) / 2],
            [0, 0, sqrt(2) / 2, sqrt(2) / 2],
        ]
    ),
    "c2y": Matrix([[0, -1, 0, 0], [1, 0, 0, 0], [0, 0, 0, -1], [0, 0, 1, 0]]),
    "c4y^-1": Matrix(
        [
            [sqrt(2) / 2, sqrt(2) / 2, 0, 0],
            [-sqrt(2) / 2, sqrt(2) / 2, 0, 0],
            [0, 0, sqrt(2) / 2, sqrt(2) / 2],
            [0, 0, -sqrt(2) / 2, sqrt(2) / 2],
        ]
    ),
    "c4z": Matrix(
        [
            [sqrt(2) * (1 - I) / 2, 0, 0, 0],
            [0, sqrt(2) * (1 + I) / 2, 0, 0],
            [0, 0, sqrt(2) * (1 - I) / 2, 0],
            [0, 0, 0, sqrt(2) * (1 + I) / 2],
        ]
    ),
    "c2z": Matrix([[-I, 0, 0, 0], [0, I, 0, 0], [0, 0, -I, 0], [0, 0, 0, I]]),
    "c4z^-1": Matrix(
        [
            [sqrt(2) * (1 + I) / 2, 0, 0, 0],
            [0, sqrt(2) * (1 - I) / 2, 0, 0],
            [0, 0, sqrt(2) * (1 + I) / 2, 0],
            [0, 0, 0, sqrt(2) * (1 - I) / 2],
        ]
    ),
    "c3delta": Matrix(
        [
            [S(1) / 2 - I / 2, -S(1) / 2 - I / 2, 0, 0],
            [S(1) / 2 - I / 2, S(1) / 2 + I / 2, 0, 0],
            [0, 0, S(1) / 2 - I / 2, -S(1) / 2 - I / 2],
            [0, 0, S(1) / 2 - I / 2, S(1) / 2 + I / 2],
        ]
    ),
    "c3delta^-1": Matrix(
        [
            [S(1) / 2 + I / 2, S(1) / 2 + I / 2, 0, 0],
            [-S(1) / 2 + I / 2, S(1) / 2 - I / 2, 0, 0],
            [0, 0, S(1) / 2 + I / 2, S(1) / 2 + I / 2],
            [0, 0, -S(1) / 2 + I / 2, S(1) / 2 - I / 2],
        ]
    ),
    "c3gamma": Matrix(
        [
            [S(1) / 2 + I / 2, S(1) / 2 - I / 2, 0, 0],
            [-S(1) / 2 - I / 2, S(1) / 2 - I / 2, 0, 0],
            [0, 0, S(1) / 2 + I / 2, S(1) / 2 - I / 2],
            [0, 0, -S(1) / 2 - I / 2, S(1) / 2 - I / 2],
        ]
    ),
    "c3gamma^-1": Matrix(
        [
            [S(1) / 2 - I / 2, -S(1) / 2 + I / 2, 0, 0],
            [S(1) / 2 + I / 2, S(1) / 2 + I / 2, 0, 0],
            [0, 0, S(1) / 2 - I / 2, -S(1) / 2 + I / 2],
            [0, 0, S(1) / 2 + I / 2, S(1) / 2 + I / 2],
        ]
    ),
    "c3beta": Matrix(
        [
            [S(1) / 2 + I / 2, -S(1) / 2 + I / 2, 0, 0],
            [S(1) / 2 + I / 2, S(1) / 2 - I / 2, 0, 0],
            [0, 0, S(1) / 2 + I / 2, -S(1) / 2 + I / 2],
            [0, 0, S(1) / 2 + I / 2, S(1) / 2 - I / 2],
        ]
    ),
    "c3beta^-1": Matrix(
        [
            [S(1) / 2 - I / 2, S(1) / 2 - I / 2, 0, 0],
            [-S(1) / 2 - I / 2, S(1) / 2 + I / 2, 0, 0],
            [0, 0, S(1) / 2 - I / 2, S(1) / 2 - I / 2],
            [0, 0, -S(1) / 2 - I / 2, S(1) / 2 + I / 2],
        ]
    ),
    "c3alpha": Matrix(
        [
            [S(1) / 2 - I / 2, S(1) / 2 + I / 2, 0, 0],
            [-S(1) / 2 + I / 2, S(1) / 2 + I / 2, 0, 0],
            [0, 0, S(1) / 2 - I / 2, S(1) / 2 + I / 2],
            [0, 0, -S(1) / 2 + I / 2, S(1) / 2 + I / 2],
        ]
    ),
    "c3alpha^1": Matrix(
        [
            [S(1) / 2 + I / 2, -S(1) / 2 - I / 2, 0, 0],
            [S(1) / 2 - I / 2, S(1) / 2 - I / 2, 0, 0],
            [0, 0, S(1) / 2 + I / 2, -S(1) / 2 - I / 2],
            [0, 0, S(1) / 2 - I / 2, S(1) / 2 - I / 2],
        ]
    ),
    "c2e": Matrix(
        [
            [-sqrt(2) * I / 2, -sqrt(2) / 2, 0, 0],
            [sqrt(2) / 2, sqrt(2) * I / 2, 0, 0],
            [0, 0, -sqrt(2) * I / 2, -sqrt(2) / 2],
            [0, 0, sqrt(2) / 2, sqrt(2) * I / 2],
        ]
    ),
    "c2f": Matrix(
        [
            [sqrt(2) * I / 2, -sqrt(2) / 2, 0, 0],
            [sqrt(2) / 2, -sqrt(2) * I / 2, 0, 0],
            [0, 0, sqrt(2) * I / 2, -sqrt(2) / 2],
            [0, 0, sqrt(2) / 2, -sqrt(2) * I / 2],
        ]
    ),
    "c2c": Matrix(
        [
            [-sqrt(2) * I / 2, -sqrt(2) * I / 2, 0, 0],
            [-sqrt(2) * I / 2, sqrt(2) * I / 2, 0, 0],
            [0, 0, -sqrt(2) * I / 2, -sqrt(2) * I / 2],
            [0, 0, -sqrt(2) * I / 2, sqrt(2) * I / 2],
        ]
    ),
    "c2d": Matrix(
        [
            [-sqrt(2) * I / 2, sqrt(2) * I / 2, 0, 0],
            [sqrt(2) * I / 2, sqrt(2) * I / 2, 0, 0],
            [0, 0, -sqrt(2) * I / 2, sqrt(2) * I / 2],
            [0, 0, sqrt(2) * I / 2, sqrt(2) * I / 2],
        ]
    ),
    "c2a": Matrix(
        [
            [0, sqrt(2) * (-1 - I) / 2, 0, 0],
            [sqrt(2) * (1 - I) / 2, 0, 0, 0],
            [0, 0, 0, sqrt(2) * (-1 - I) / 2],
            [0, 0, sqrt(2) * (1 - I) / 2, 0],
        ]
    ),
    "c2b": Matrix(
        [
            [0, sqrt(2) * (1 - I) / 2, 0, 0],
            [-sqrt(2) * I * (1 - I) / 2, 0, 0, 0],
            [0, 0, 0, sqrt(2) * (1 - I) / 2],
            [0, 0, -sqrt(2) * I * (1 - I) / 2, 0],
        ]
    ),
    "riden": Matrix([[-1, 0, 0, 0], [0, -1, 0, 0], [0, 0, -1, 0], [0, 0, 0, -1]]),
    "rc4x": Matrix(
        [
            [-sqrt(2) / 2, sqrt(2) * I / 2, 0, 0],
            [sqrt(2) * I / 2, -sqrt(2) / 2, 0, 0],
            [0, 0, -sqrt(2) / 2, sqrt(2) * I / 2],
            [0, 0, sqrt(2) * I / 2, -sqrt(2) / 2],
        ]
    ),
    "rc2x": Matrix([[0, I, 0, 0], [I, 0, 0, 0], [0, 0, 0, I], [0, 0, I, 0]]),
    "rc4x^-1": Matrix(
        [
            [-sqrt(2) / 2, -sqrt(2) * I / 2, 0, 0],
            [-sqrt(2) * I / 2, -sqrt(2) / 2, 0, 0],
            [0, 0, -sqrt(2) / 2, -sqrt(2) * I / 2],
            [0, 0, -sqrt(2) * I / 2, -sqrt(2) / 2],
        ]
    ),
    "rc4y": Matrix(
        [
            [-sqrt(2) / 2, sqrt(2) / 2, 0, 0],
            [-sqrt(2) / 2, -sqrt(2) / 2, 0, 0],
            [0, 0, -sqrt(2) / 2, sqrt(2) / 2],
            [0, 0, -sqrt(2) / 2, -sqrt(2) / 2],
        ]
    ),
    "rc2y": Matrix([[0, 1, 0, 0], [-1, 0, 0, 0], [0, 0, 0, 1], [0, 0, -1, 0]]),
    "rc4y^-1": Matrix(
        [
            [-sqrt(2) / 2, -sqrt(2) / 2, 0, 0],
            [sqrt(2) / 2, -sqrt(2) / 2, 0, 0],
            [0, 0, -sqrt(2) / 2, -sqrt(2) / 2],
            [0, 0, sqrt(2) / 2, -sqrt(2) / 2],
        ]
    ),
    "rc4z": Matrix(
        [
            [-sqrt(2) * (1 - I) / 2, 0, 0, 0],
            [0, -sqrt(2) * I * (1 - I) / 2, 0, 0],
            [0, 0, -sqrt(2) * (1 - I) / 2, 0],
            [0, 0, 0, -sqrt(2) * I * (1 - I) / 2],
        ]
    ),
    "rc2z": Matrix([[I, 0, 0, 0], [0, -I, 0, 0], [0, 0, I, 0], [0, 0, 0, -I]]),
    "rc4z^-1": Matrix(
        [
            [-sqrt(2) * I * (1 - I) / 2, 0, 0, 0],
            [0, -sqrt(2) * (1 - I) / 2, 0, 0],
            [0, 0, -sqrt(2) * I * (1 - I) / 2, 0],
            [0, 0, 0, -sqrt(2) * (1 - I) / 2],
        ]
    ),
    "rc3delta": Matrix(
        [
            [-S(1) / 2 + I / 2, S(1) / 2 + I / 2, 0, 0],
            [-S(1) / 2 + I / 2, -S(1) / 2 - I / 2, 0, 0],
            [0, 0, -S(1) / 2 + I / 2, S(1) / 2 + I / 2],
            [0, 0, -S(1) / 2 + I / 2, -S(1) / 2 - I / 2],
        ]
    ),
    "rc3delta^-1": Matrix(
        [
            [-S(1) / 2 - I / 2, -S(1) / 2 - I / 2, 0, 0],
            [S(1) / 2 - I / 2, -S(1) / 2 + I / 2, 0, 0],
            [0, 0, -S(1) / 2 - I / 2, -S(1) / 2 - I / 2],
            [0, 0, S(1) / 2 - I / 2, -S(1) / 2 + I / 2],
        ]
    ),
    "rc3gamma": Matrix(
        [
            [-S(1) / 2 - I / 2, -S(1) / 2 + I / 2, 0, 0],
            [S(1) / 2 + I / 2, -S(1) / 2 + I / 2, 0, 0],
            [0, 0, -S(1) / 2 - I / 2, -S(1) / 2 + I / 2],
            [0, 0, S(1) / 2 + I / 2, -S(1) / 2 + I / 2],
        ]
    ),
    "rc3gamma^-1": Matrix(
        [
            [-S(1) / 2 + I / 2, S(1) / 2 - I / 2, 0, 0],
            [-S(1) / 2 - I / 2, -S(1) / 2 - I / 2, 0, 0],
            [0, 0, -S(1) / 2 + I / 2, S(1) / 2 - I / 2],
            [0, 0, -S(1) / 2 - I / 2, -S(1) / 2 - I / 2],
        ]
    ),
    "rc3beta": Matrix(
        [
            [-S(1) / 2 - I / 2, S(1) / 2 - I / 2, 0, 0],
            [-S(1) / 2 - I / 2, -S(1) / 2 + I / 2, 0, 0],
            [0, 0, -S(1) / 2 - I / 2, S(1) / 2 - I / 2],
            [0, 0, -S(1) / 2 - I / 2, -S(1) / 2 + I / 2],
        ]
    ),
    "rc3beta^-1": Matrix(
        [
            [-S(1) / 2 + I / 2, -S(1) / 2 + I / 2, 0, 0],
            [S(1) / 2 + I / 2, -S(1) / 2 - I / 2, 0, 0],
            [0, 0, -S(1) / 2 + I / 2, -S(1) / 2 + I / 2],
            [0, 0, S(1) / 2 + I / 2, -S(1) / 2 - I / 2],
        ]
    ),
    "rc3alpha": Matrix(
        [
            [-S(1) / 2 + I / 2, -S(1) / 2 - I / 2, 0, 0],
            [S(1) / 2 - I / 2, -S(1) / 2 - I / 2, 0, 0],
            [0, 0, -S(1) / 2 + I / 2, -S(1) / 2 - I / 2],
            [0, 0, S(1) / 2 - I / 2, -S(1) / 2 - I / 2],
        ]
    ),
    "rc3alpha^1": Matrix(
        [
            [-S(1) / 2 - I / 2, S(1) / 2 + I / 2, 0, 0],
            [-S(1) / 2 + I / 2, -S(1) / 2 + I / 2, 0, 0],
            [0, 0, -S(1) / 2 - I / 2, S(1) / 2 + I / 2],
            [0, 0, -S(1) / 2 + I / 2, -S(1) / 2 + I / 2],
        ]
    ),
    "rc2e": Matrix(
        [
            [sqrt(2) * I / 2, sqrt(2) / 2, 0, 0],
            [-sqrt(2) / 2, -sqrt(2) * I / 2, 0, 0],
            [0, 0, sqrt(2) * I / 2, sqrt(2) / 2],
            [0, 0, -sqrt(2) / 2, -sqrt(2) * I / 2],
        ]
    ),
    "rc2f": Matrix(
        [
            [-sqrt(2) * I / 2, sqrt(2) / 2, 0, 0],
            [-sqrt(2) / 2, sqrt(2) * I / 2, 0, 0],
            [0, 0, -sqrt(2) * I / 2, sqrt(2) / 2],
            [0, 0, -sqrt(2) / 2, sqrt(2) * I / 2],
        ]
    ),
    "rc2c": Matrix(
        [
            [sqrt(2) * I / 2, sqrt(2) * I / 2, 0, 0],
            [sqrt(2) * I / 2, -sqrt(2) * I / 2, 0, 0],
            [0, 0, sqrt(2) * I / 2, sqrt(2) * I / 2],
            [0, 0, sqrt(2) * I / 2, -sqrt(2) * I / 2],
        ]
    ),
    "rc2d": Matrix(
        [
            [sqrt(2) * I / 2, -sqrt(2) * I / 2, 0, 0],
            [-sqrt(2) * I / 2, -sqrt(2) * I / 2, 0, 0],
            [0, 0, sqrt(2) * I / 2, -sqrt(2) * I / 2],
            [0, 0, -sqrt(2) * I / 2, -sqrt(2) * I / 2],
        ]
    ),
    "rc2a": Matrix(
        [
            [0, sqrt(2) * I * (1 - I) / 2, 0, 0],
            [-sqrt(2) * (1 - I) / 2, 0, 0, 0],
            [0, 0, 0, sqrt(2) * I * (1 - I) / 2],
            [0, 0, -sqrt(2) * (1 - I) / 2, 0],
        ]
    ),
    "rc2b": Matrix(
        [
            [0, -sqrt(2) * (1 - I) / 2, 0, 0],
            [sqrt(2) * I * (1 - I) / 2, 0, 0, 0],
            [0, 0, 0, -sqrt(2) * (1 - I) / 2],
            [0, 0, sqrt(2) * I * (1 - I) / 2, 0],
        ]
    ),
    "inviden": Matrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, -1, 0], [0, 0, 0, -1]]),
    "invc4x": Matrix(
        [
            [sqrt(2) / 2, -sqrt(2) * I / 2, 0, 0],
            [-sqrt(2) * I / 2, sqrt(2) / 2, 0, 0],
            [0, 0, -sqrt(2) / 2, sqrt(2) * I / 2],
            [0, 0, sqrt(2) * I / 2, -sqrt(2) / 2],
        ]
    ),
    "invc2x": Matrix([[0, -I, 0, 0], [-I, 0, 0, 0], [0, 0, 0, I], [0, 0, I, 0]]),
    "invc4x^-1": Matrix(
        [
            [sqrt(2) / 2, sqrt(2) * I / 2, 0, 0],
            [sqrt(2) * I / 2, sqrt(2) / 2, 0, 0],
            [0, 0, -sqrt(2) / 2, -sqrt(2) * I / 2],
            [0, 0, -sqrt(2) * I / 2, -sqrt(2) / 2],
        ]
    ),
    "invc4y": Matrix(
        [
            [sqrt(2) / 2, -sqrt(2) / 2, 0, 0],
            [sqrt(2) / 2, sqrt(2) / 2, 0, 0],
            [0, 0, -sqrt(2) / 2, sqrt(2) / 2],
            [0, 0, -sqrt(2) / 2, -sqrt(2) / 2],
        ]
    ),
    "invc2y": Matrix([[0, -1, 0, 0], [1, 0, 0, 0], [0, 0, 0, 1], [0, 0, -1, 0]]),
    "invc4y^-1": Matrix(
        [
            [sqrt(2) / 2, sqrt(2) / 2, 0, 0],
            [-sqrt(2) / 2, sqrt(2) / 2, 0, 0],
            [0, 0, -sqrt(2) / 2, -sqrt(2) / 2],
            [0, 0, sqrt(2) / 2, -sqrt(2) / 2],
        ]
    ),
    "invc4z": Matrix(
        [
            [sqrt(2) * (1 - I) / 2, 0, 0, 0],
            [0, sqrt(2) * (1 + I) / 2, 0, 0],
            [0, 0, sqrt(2) * (-1 + I) / 2, 0],
            [0, 0, 0, sqrt(2) * (-1 - I) / 2],
        ]
    ),
    "invc2z": Matrix([[-I, 0, 0, 0], [0, I, 0, 0], [0, 0, I, 0], [0, 0, 0, -I]]),
    "invc4z^-1": Matrix(
        [
            [sqrt(2) * (1 + I) / 2, 0, 0, 0],
            [0, sqrt(2) * (1 - I) / 2, 0, 0],
            [0, 0, sqrt(2) * (-1 - I) / 2, 0],
            [0, 0, 0, sqrt(2) * (-1 + I) / 2],
        ]
    ),
    "invc3delta": Matrix(
        [
            [S(1) / 2 - I / 2, -S(1) / 2 - I / 2, 0, 0],
            [S(1) / 2 - I / 2, S(1) / 2 + I / 2, 0, 0],
            [0, 0, -S(1) / 2 + I / 2, S(1) / 2 + I / 2],
            [0, 0, -S(1) / 2 + I / 2, -S(1) / 2 - I / 2],
        ]
    ),
    "invc3delta^-1": Matrix(
        [
            [S(1) / 2 + I / 2, S(1) / 2 + I / 2, 0, 0],
            [-S(1) / 2 + I / 2, S(1) / 2 - I / 2, 0, 0],
            [0, 0, -S(1) / 2 - I / 2, -S(1) / 2 - I / 2],
            [0, 0, S(1) / 2 - I / 2, -S(1) / 2 + I / 2],
        ]
    ),
    "invc3gamma": Matrix(
        [
            [S(1) / 2 + I / 2, S(1) / 2 - I / 2, 0, 0],
            [-S(1) / 2 - I / 2, S(1) / 2 - I / 2, 0, 0],
            [0, 0, -S(1) / 2 - I / 2, -S(1) / 2 + I / 2],
            [0, 0, S(1) / 2 + I / 2, -S(1) / 2 + I / 2],
        ]
    ),
    "invc3gamma^-1": Matrix(
        [
            [S(1) / 2 - I / 2, -S(1) / 2 + I / 2, 0, 0],
            [S(1) / 2 + I / 2, S(1) / 2 + I / 2, 0, 0],
            [0, 0, -S(1) / 2 + I / 2, S(1) / 2 - I / 2],
            [0, 0, -S(1) / 2 - I / 2, -S(1) / 2 - I / 2],
        ]
    ),
    "invc3beta": Matrix(
        [
            [S(1) / 2 + I / 2, -S(1) / 2 + I / 2, 0, 0],
            [S(1) / 2 + I / 2, S(1) / 2 - I / 2, 0, 0],
            [0, 0, -S(1) / 2 - I / 2, S(1) / 2 - I / 2],
            [0, 0, -S(1) / 2 - I / 2, -S(1) / 2 + I / 2],
        ]
    ),
    "invc3beta^-1": Matrix(
        [
            [S(1) / 2 - I / 2, S(1) / 2 - I / 2, 0, 0],
            [-S(1) / 2 - I / 2, S(1) / 2 + I / 2, 0, 0],
            [0, 0, -S(1) / 2 + I / 2, -S(1) / 2 + I / 2],
            [0, 0, S(1) / 2 + I / 2, -S(1) / 2 - I / 2],
        ]
    ),
    "invc3alpha": Matrix(
        [
            [S(1) / 2 - I / 2, S(1) / 2 + I / 2, 0, 0],
            [-S(1) / 2 + I / 2, S(1) / 2 + I / 2, 0, 0],
            [0, 0, -S(1) / 2 + I / 2, -S(1) / 2 - I / 2],
            [0, 0, S(1) / 2 - I / 2, -S(1) / 2 - I / 2],
        ]
    ),
    "invc3alpha^1": Matrix(
        [
            [S(1) / 2 + I / 2, -S(1) / 2 - I / 2, 0, 0],
            [S(1) / 2 - I / 2, S(1) / 2 - I / 2, 0, 0],
            [0, 0, -S(1) / 2 - I / 2, S(1) / 2 + I / 2],
            [0, 0, -S(1) / 2 + I / 2, -S(1) / 2 + I / 2],
        ]
    ),
    "invc2e": Matrix(
        [
            [-sqrt(2) * I / 2, -sqrt(2) / 2, 0, 0],
            [sqrt(2) / 2, sqrt(2) * I / 2, 0, 0],
            [0, 0, sqrt(2) * I / 2, sqrt(2) / 2],
            [0, 0, -sqrt(2) / 2, -sqrt(2) * I / 2],
        ]
    ),
    "invc2f": Matrix(
        [
            [sqrt(2) * I / 2, -sqrt(2) / 2, 0, 0],
            [sqrt(2) / 2, -sqrt(2) * I / 2, 0, 0],
            [0, 0, -sqrt(2) * I / 2, sqrt(2) / 2],
            [0, 0, -sqrt(2) / 2, sqrt(2) * I / 2],
        ]
    ),
    "invc2c": Matrix(
        [
            [-sqrt(2) * I / 2, -sqrt(2) * I / 2, 0, 0],
            [-sqrt(2) * I / 2, sqrt(2) * I / 2, 0, 0],
            [0, 0, sqrt(2) * I / 2, sqrt(2) * I / 2],
            [0, 0, sqrt(2) * I / 2, -sqrt(2) * I / 2],
        ]
    ),
    "invc2d": Matrix(
        [
            [-sqrt(2) * I / 2, sqrt(2) * I / 2, 0, 0],
            [sqrt(2) * I / 2, sqrt(2) * I / 2, 0, 0],
            [0, 0, sqrt(2) * I / 2, -sqrt(2) * I / 2],
            [0, 0, -sqrt(2) * I / 2, -sqrt(2) * I / 2],
        ]
    ),
    "invc2a": Matrix(
        [
            [0, sqrt(2) * (-1 - I) / 2, 0, 0],
            [sqrt(2) * (1 - I) / 2, 0, 0, 0],
            [0, 0, 0, sqrt(2) * (1 + I) / 2],
            [0, 0, sqrt(2) * (-1 + I) / 2, 0],
        ]
    ),
    "invc2b": Matrix(
        [
            [0, sqrt(2) * (1 - I) / 2, 0, 0],
            [-sqrt(2) * I * (1 - I) / 2, 0, 0, 0],
            [0, 0, 0, -sqrt(2) * (1 - I) / 2],
            [0, 0, sqrt(2) * I * (1 - I) / 2, 0],
        ]
    ),
    "invriden": Matrix([[-1, 0, 0, 0], [0, -1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]),
    "invrc4x": Matrix(
        [
            [-sqrt(2) / 2, sqrt(2) * I / 2, 0, 0],
            [sqrt(2) * I / 2, -sqrt(2) / 2, 0, 0],
            [0, 0, sqrt(2) / 2, -sqrt(2) * I / 2],
            [0, 0, -sqrt(2) * I / 2, sqrt(2) / 2],
        ]
    ),
    "invrc2x": Matrix([[0, I, 0, 0], [I, 0, 0, 0], [0, 0, 0, -I], [0, 0, -I, 0]]),
    "invrc4x^-1": Matrix(
        [
            [-sqrt(2) / 2, -sqrt(2) * I / 2, 0, 0],
            [-sqrt(2) * I / 2, -sqrt(2) / 2, 0, 0],
            [0, 0, sqrt(2) / 2, sqrt(2) * I / 2],
            [0, 0, sqrt(2) * I / 2, sqrt(2) / 2],
        ]
    ),
    "invrc4y": Matrix(
        [
            [-sqrt(2) / 2, sqrt(2) / 2, 0, 0],
            [-sqrt(2) / 2, -sqrt(2) / 2, 0, 0],
            [0, 0, sqrt(2) / 2, -sqrt(2) / 2],
            [0, 0, sqrt(2) / 2, sqrt(2) / 2],
        ]
    ),
    "invrc2y": Matrix([[0, 1, 0, 0], [-1, 0, 0, 0], [0, 0, 0, -1], [0, 0, 1, 0]]),
    "invrc4y^-1": Matrix(
        [
            [-sqrt(2) / 2, -sqrt(2) / 2, 0, 0],
            [sqrt(2) / 2, -sqrt(2) / 2, 0, 0],
            [0, 0, sqrt(2) / 2, sqrt(2) / 2],
            [0, 0, -sqrt(2) / 2, sqrt(2) / 2],
        ]
    ),
    "invrc4z": Matrix(
        [
            [-sqrt(2) * (1 - I) / 2, 0, 0, 0],
            [0, -sqrt(2) * I * (1 - I) / 2, 0, 0],
            [0, 0, sqrt(2) * (1 - I) / 2, 0],
            [0, 0, 0, sqrt(2) * I * (1 - I) / 2],
        ]
    ),
    "invrc2z": Matrix([[I, 0, 0, 0], [0, -I, 0, 0], [0, 0, -I, 0], [0, 0, 0, I]]),
    "invrc4z^-1": Matrix(
        [
            [-sqrt(2) * I * (1 - I) / 2, 0, 0, 0],
            [0, -sqrt(2) * (1 - I) / 2, 0, 0],
            [0, 0, sqrt(2) * I * (1 - I) / 2, 0],
            [0, 0, 0, sqrt(2) * (1 - I) / 2],
        ]
    ),
    "invrc3delta": Matrix(
        [
            [-S(1) / 2 + I / 2, S(1) / 2 + I / 2, 0, 0],
            [-S(1) / 2 + I / 2, -S(1) / 2 - I / 2, 0, 0],
            [0, 0, S(1) / 2 - I / 2, -S(1) / 2 - I / 2],
            [0, 0, S(1) / 2 - I / 2, S(1) / 2 + I / 2],
        ]
    ),
    "invrc3delta^-1": Matrix(
        [
            [-S(1) / 2 - I / 2, -S(1) / 2 - I / 2, 0, 0],
            [S(1) / 2 - I / 2, -S(1) / 2 + I / 2, 0, 0],
            [0, 0, S(1) / 2 + I / 2, S(1) / 2 + I / 2],
            [0, 0, -S(1) / 2 + I / 2, S(1) / 2 - I / 2],
        ]
    ),
    "invrc3gamma": Matrix(
        [
            [-S(1) / 2 - I / 2, -S(1) / 2 + I / 2, 0, 0],
            [S(1) / 2 + I / 2, -S(1) / 2 + I / 2, 0, 0],
            [0, 0, S(1) / 2 + I / 2, S(1) / 2 - I / 2],
            [0, 0, -S(1) / 2 - I / 2, S(1) / 2 - I / 2],
        ]
    ),
    "invrc3gamma^-1": Matrix(
        [
            [-S(1) / 2 + I / 2, S(1) / 2 - I / 2, 0, 0],
            [-S(1) / 2 - I / 2, -S(1) / 2 - I / 2, 0, 0],
            [0, 0, S(1) / 2 - I / 2, -S(1) / 2 + I / 2],
            [0, 0, S(1) / 2 + I / 2, S(1) / 2 + I / 2],
        ]
    ),
    "invrc3beta": Matrix(
        [
            [-S(1) / 2 - I / 2, S(1) / 2 - I / 2, 0, 0],
            [-S(1) / 2 - I / 2, -S(1) / 2 + I / 2, 0, 0],
            [0, 0, S(1) / 2 + I / 2, -S(1) / 2 + I / 2],
            [0, 0, S(1) / 2 + I / 2, S(1) / 2 - I / 2],
        ]
    ),
    "invrc3beta^-1": Matrix(
        [
            [-S(1) / 2 + I / 2, -S(1) / 2 + I / 2, 0, 0],
            [S(1) / 2 + I / 2, -S(1) / 2 - I / 2, 0, 0],
            [0, 0, S(1) / 2 - I / 2, S(1) / 2 - I / 2],
            [0, 0, -S(1) / 2 - I / 2, S(1) / 2 + I / 2],
        ]
    ),
    "invrc3alpha": Matrix(
        [
            [-S(1) / 2 + I / 2, -S(1) / 2 - I / 2, 0, 0],
            [S(1) / 2 - I / 2, -S(1) / 2 - I / 2, 0, 0],
            [0, 0, S(1) / 2 - I / 2, S(1) / 2 + I / 2],
            [0, 0, -S(1) / 2 + I / 2, S(1) / 2 + I / 2],
        ]
    ),
    "invrc3alpha^1": Matrix(
        [
            [-S(1) / 2 - I / 2, S(1) / 2 + I / 2, 0, 0],
            [-S(1) / 2 + I / 2, -S(1) / 2 + I / 2, 0, 0],
            [0, 0, S(1) / 2 + I / 2, -S(1) / 2 - I / 2],
            [0, 0, S(1) / 2 - I / 2, S(1) / 2 - I / 2],
        ]
    ),
    "invrc2e": Matrix(
        [
            [sqrt(2) * I / 2, sqrt(2) / 2, 0, 0],
            [-sqrt(2) / 2, -sqrt(2) * I / 2, 0, 0],
            [0, 0, -sqrt(2) * I / 2, -sqrt(2) / 2],
            [0, 0, sqrt(2) / 2, sqrt(2) * I / 2],
        ]
    ),
    "invrc2f": Matrix(
        [
            [-sqrt(2) * I / 2, sqrt(2) / 2, 0, 0],
            [-sqrt(2) / 2, sqrt(2) * I / 2, 0, 0],
            [0, 0, sqrt(2) * I / 2, -sqrt(2) / 2],
            [0, 0, sqrt(2) / 2, -sqrt(2) * I / 2],
        ]
    ),
    "invrc2c": Matrix(
        [
            [sqrt(2) * I / 2, sqrt(2) * I / 2, 0, 0],
            [sqrt(2) * I / 2, -sqrt(2) * I / 2, 0, 0],
            [0, 0, -sqrt(2) * I / 2, -sqrt(2) * I / 2],
            [0, 0, -sqrt(2) * I / 2, sqrt(2) * I / 2],
        ]
    ),
    "invrc2d": Matrix(
        [
            [sqrt(2) * I / 2, -sqrt(2) * I / 2, 0, 0],
            [-sqrt(2) * I / 2, -sqrt(2) * I / 2, 0, 0],
            [0, 0, -sqrt(2) * I / 2, sqrt(2) * I / 2],
            [0, 0, sqrt(2) * I / 2, sqrt(2) * I / 2],
        ]
    ),
    "invrc2a": Matrix(
        [
            [0, sqrt(2) * I * (1 - I) / 2, 0, 0],
            [-sqrt(2) * (1 - I) / 2, 0, 0, 0],
            [0, 0, 0, -sqrt(2) * I * (1 - I) / 2],
            [0, 0, sqrt(2) * (1 - I) / 2, 0],
        ]
    ),
    "invrc2b": Matrix(
        [
            [0, -sqrt(2) * (1 - I) / 2, 0, 0],
            [sqrt(2) * I * (1 - I) / 2, 0, 0, 0],
            [0, 0, 0, sqrt(2) * (1 - I) / 2],
            [0, 0, -sqrt(2) * I * (1 - I) / 2, 0],
        ]
    ),
}


OD_irreps = {
    "A_1": {
        "iden": Matrix([[1]]),
        "c4x": Matrix([[1]]),
        "c2x": Matrix([[1]]),
        "c4x^-1": Matrix([[1]]),
        "c4y": Matrix([[1]]),
        "c2y": Matrix([[1]]),
        "c4y^-1": Matrix([[1]]),
        "c4z": Matrix([[1]]),
        "c2z": Matrix([[1]]),
        "c4z^-1": Matrix([[1]]),
        "c3delta": Matrix([[1]]),
        "c3delta^-1": Matrix([[1]]),
        "c3gamma": Matrix([[1]]),
        "c3gamma^-1": Matrix([[1]]),
        "c3beta": Matrix([[1]]),
        "c3beta^-1": Matrix([[1]]),
        "c3alpha": Matrix([[1]]),
        "c3alpha^1": Matrix([[1]]),
        "c2e": Matrix([[1]]),
        "c2f": Matrix([[1]]),
        "c2c": Matrix([[1]]),
        "c2d": Matrix([[1]]),
        "c2a": Matrix([[1]]),
        "c2b": Matrix([[1]]),
        "riden": Matrix([[1]]),
        "rc4x": Matrix([[1]]),
        "rc2x": Matrix([[1]]),
        "rc4x^-1": Matrix([[1]]),
        "rc4y": Matrix([[1]]),
        "rc2y": Matrix([[1]]),
        "rc4y^-1": Matrix([[1]]),
        "rc4z": Matrix([[1]]),
        "rc2z": Matrix([[1]]),
        "rc4z^-1": Matrix([[1]]),
        "rc3delta": Matrix([[1]]),
        "rc3delta^-1": Matrix([[1]]),
        "rc3gamma": Matrix([[1]]),
        "rc3gamma^-1": Matrix([[1]]),
        "rc3beta": Matrix([[1]]),
        "rc3beta^-1": Matrix([[1]]),
        "rc3alpha": Matrix([[1]]),
        "rc3alpha^1": Matrix([[1]]),
        "rc2e": Matrix([[1]]),
        "rc2f": Matrix([[1]]),
        "rc2c": Matrix([[1]]),
        "rc2d": Matrix([[1]]),
        "rc2a": Matrix([[1]]),
        "rc2b": Matrix([[1]]),
    },
    "A_2": {
        "iden": Matrix([[1]]),
        "c4x": Matrix([[-1]]),
        "c2x": Matrix([[1]]),
        "c4x^-1": Matrix([[-1]]),
        "c4y": Matrix([[-1]]),
        "c2y": Matrix([[1]]),
        "c4y^-1": Matrix([[-1]]),
        "c4z": Matrix([[-1]]),
        "c2z": Matrix([[1]]),
        "c4z^-1": Matrix([[-1]]),
        "c3delta": Matrix([[1]]),
        "c3delta^-1": Matrix([[1]]),
        "c3gamma": Matrix([[1]]),
        "c3gamma^-1": Matrix([[1]]),
        "c3beta": Matrix([[1]]),
        "c3beta^-1": Matrix([[1]]),
        "c3alpha": Matrix([[1]]),
        "c3alpha^1": Matrix([[1]]),
        "c2e": Matrix([[-1]]),
        "c2f": Matrix([[-1]]),
        "c2c": Matrix([[-1]]),
        "c2d": Matrix([[-1]]),
        "c2a": Matrix([[-1]]),
        "c2b": Matrix([[-1]]),
        "riden": Matrix([[1]]),
        "rc4x": Matrix([[-1]]),
        "rc2x": Matrix([[1]]),
        "rc4x^-1": Matrix([[-1]]),
        "rc4y": Matrix([[-1]]),
        "rc2y": Matrix([[1]]),
        "rc4y^-1": Matrix([[-1]]),
        "rc4z": Matrix([[-1]]),
        "rc2z": Matrix([[1]]),
        "rc4z^-1": Matrix([[-1]]),
        "rc3delta": Matrix([[1]]),
        "rc3delta^-1": Matrix([[1]]),
        "rc3gamma": Matrix([[1]]),
        "rc3gamma^-1": Matrix([[1]]),
        "rc3beta": Matrix([[1]]),
        "rc3beta^-1": Matrix([[1]]),
        "rc3alpha": Matrix([[1]]),
        "rc3alpha^1": Matrix([[1]]),
        "rc2e": Matrix([[-1]]),
        "rc2f": Matrix([[-1]]),
        "rc2c": Matrix([[-1]]),
        "rc2d": Matrix([[-1]]),
        "rc2a": Matrix([[-1]]),
        "rc2b": Matrix([[-1]]),
    },
    "T_1": {
        "iden": Matrix([[1, 0, 0], [0, 1, 0], [0, 0, 1]]),
        "c4x": Matrix([[1, 0, 0], [0, 0, -1], [0, 1, 0]]),
        "c2x": Matrix([[1, 0, 0], [0, -1, 0], [0, 0, -1]]),
        "c4x^-1": Matrix([[1, 0, 0], [0, 0, 1], [0, -1, 0]]),
        "c4y": Matrix([[0, 0, 1], [0, 1, 0], [-1, 0, 0]]),
        "c2y": Matrix([[-1, 0, 0], [0, 1, 0], [0, 0, -1]]),
        "c4y^-1": Matrix([[0, 0, -1], [0, 1, 0], [1, 0, 0]]),
        "c4z": Matrix([[0, -1, 0], [1, 0, 0], [0, 0, 1]]),
        "c2z": Matrix([[-1, 0, 0], [0, -1, 0], [0, 0, 1]]),
        "c4z^-1": Matrix([[0, 1, 0], [-1, 0, 0], [0, 0, 1]]),
        "c3delta": Matrix([[0, 0, 1], [1, 0, 0], [0, 1, 0]]),
        "c3delta^-1": Matrix([[0, 1, 0], [0, 0, 1], [1, 0, 0]]),
        "c3gamma": Matrix([[0, 0, -1], [-1, 0, 0], [0, 1, 0]]),
        "c3gamma^-1": Matrix([[0, -1, 0], [0, 0, 1], [-1, 0, 0]]),
        "c3beta": Matrix([[0, 0, 1], [-1, 0, 0], [0, -1, 0]]),
        "c3beta^-1": Matrix([[0, -1, 0], [0, 0, -1], [1, 0, 0]]),
        "c3alpha": Matrix([[0, 0, -1], [1, 0, 0], [0, -1, 0]]),
        "c3alpha^1": Matrix([[0, 1, 0], [0, 0, -1], [-1, 0, 0]]),
        "c2e": Matrix([[-1, 0, 0], [0, 0, 1], [0, 1, 0]]),
        "c2f": Matrix([[-1, 0, 0], [0, 0, -1], [0, -1, 0]]),
        "c2c": Matrix([[0, 0, 1], [0, -1, 0], [1, 0, 0]]),
        "c2d": Matrix([[0, 0, -1], [0, -1, 0], [-1, 0, 0]]),
        "c2a": Matrix([[0, 1, 0], [1, 0, 0], [0, 0, -1]]),
        "c2b": Matrix([[0, -1, 0], [-1, 0, 0], [0, 0, -1]]),
        "riden": Matrix([[1, 0, 0], [0, 1, 0], [0, 0, 1]]),
        "rc4x": Matrix([[1, 0, 0], [0, 0, -1], [0, 1, 0]]),
        "rc2x": Matrix([[1, 0, 0], [0, -1, 0], [0, 0, -1]]),
        "rc4x^-1": Matrix([[1, 0, 0], [0, 0, 1], [0, -1, 0]]),
        "rc4y": Matrix([[0, 0, 1], [0, 1, 0], [-1, 0, 0]]),
        "rc2y": Matrix([[-1, 0, 0], [0, 1, 0], [0, 0, -1]]),
        "rc4y^-1": Matrix([[0, 0, -1], [0, 1, 0], [1, 0, 0]]),
        "rc4z": Matrix([[0, -1, 0], [1, 0, 0], [0, 0, 1]]),
        "rc2z": Matrix([[-1, 0, 0], [0, -1, 0], [0, 0, 1]]),
        "rc4z^-1": Matrix([[0, 1, 0], [-1, 0, 0], [0, 0, 1]]),
        "rc3delta": Matrix([[0, 0, 1], [1, 0, 0], [0, 1, 0]]),
        "rc3delta^-1": Matrix([[0, 1, 0], [0, 0, 1], [1, 0, 0]]),
        "rc3gamma": Matrix([[0, 0, -1], [-1, 0, 0], [0, 1, 0]]),
        "rc3gamma^-1": Matrix([[0, -1, 0], [0, 0, 1], [-1, 0, 0]]),
        "rc3beta": Matrix([[0, 0, 1], [-1, 0, 0], [0, -1, 0]]),
        "rc3beta^-1": Matrix([[0, -1, 0], [0, 0, -1], [1, 0, 0]]),
        "rc3alpha": Matrix([[0, 0, -1], [1, 0, 0], [0, -1, 0]]),
        "rc3alpha^1": Matrix([[0, 1, 0], [0, 0, -1], [-1, 0, 0]]),
        "rc2e": Matrix([[-1, 0, 0], [0, 0, 1], [0, 1, 0]]),
        "rc2f": Matrix([[-1, 0, 0], [0, 0, -1], [0, -1, 0]]),
        "rc2c": Matrix([[0, 0, 1], [0, -1, 0], [1, 0, 0]]),
        "rc2d": Matrix([[0, 0, -1], [0, -1, 0], [-1, 0, 0]]),
        "rc2a": Matrix([[0, 1, 0], [1, 0, 0], [0, 0, -1]]),
        "rc2b": Matrix([[0, -1, 0], [-1, 0, 0], [0, 0, -1]]),
    },
    "T_2": {
        "iden": Matrix([[1, 0, 0], [0, 1, 0], [0, 0, 1]]),
        "c4x": Matrix([[-1, 0, 0], [0, 0, 1], [0, -1, 0]]),
        "c2x": Matrix([[1, 0, 0], [0, -1, 0], [0, 0, -1]]),
        "c4x^-1": Matrix([[-1, 0, 0], [0, 0, -1], [0, 1, 0]]),
        "c4y": Matrix([[0, 0, -1], [0, -1, 0], [1, 0, 0]]),
        "c2y": Matrix([[-1, 0, 0], [0, 1, 0], [0, 0, -1]]),
        "c4y^-1": Matrix([[0, 0, 1], [0, -1, 0], [-1, 0, 0]]),
        "c4z": Matrix([[0, 1, 0], [-1, 0, 0], [0, 0, -1]]),
        "c2z": Matrix([[-1, 0, 0], [0, -1, 0], [0, 0, 1]]),
        "c4z^-1": Matrix([[0, -1, 0], [1, 0, 0], [0, 0, -1]]),
        "c3delta": Matrix([[0, 0, 1], [1, 0, 0], [0, 1, 0]]),
        "c3delta^-1": Matrix([[0, 1, 0], [0, 0, 1], [1, 0, 0]]),
        "c3gamma": Matrix([[0, 0, -1], [-1, 0, 0], [0, 1, 0]]),
        "c3gamma^-1": Matrix([[0, -1, 0], [0, 0, 1], [-1, 0, 0]]),
        "c3beta": Matrix([[0, 0, 1], [-1, 0, 0], [0, -1, 0]]),
        "c3beta^-1": Matrix([[0, -1, 0], [0, 0, -1], [1, 0, 0]]),
        "c3alpha": Matrix([[0, 0, -1], [1, 0, 0], [0, -1, 0]]),
        "c3alpha^1": Matrix([[0, 1, 0], [0, 0, -1], [-1, 0, 0]]),
        "c2e": Matrix([[1, 0, 0], [0, 0, -1], [0, -1, 0]]),
        "c2f": Matrix([[1, 0, 0], [0, 0, 1], [0, 1, 0]]),
        "c2c": Matrix([[0, 0, -1], [0, 1, 0], [-1, 0, 0]]),
        "c2d": Matrix([[0, 0, 1], [0, 1, 0], [1, 0, 0]]),
        "c2a": Matrix([[0, -1, 0], [-1, 0, 0], [0, 0, 1]]),
        "c2b": Matrix([[0, 1, 0], [1, 0, 0], [0, 0, 1]]),
        "riden": Matrix([[1, 0, 0], [0, 1, 0], [0, 0, 1]]),
        "rc4x": Matrix([[-1, 0, 0], [0, 0, 1], [0, -1, 0]]),
        "rc2x": Matrix([[1, 0, 0], [0, -1, 0], [0, 0, -1]]),
        "rc4x^-1": Matrix([[-1, 0, 0], [0, 0, -1], [0, 1, 0]]),
        "rc4y": Matrix([[0, 0, -1], [0, -1, 0], [1, 0, 0]]),
        "rc2y": Matrix([[-1, 0, 0], [0, 1, 0], [0, 0, -1]]),
        "rc4y^-1": Matrix([[0, 0, 1], [0, -1, 0], [-1, 0, 0]]),
        "rc4z": Matrix([[0, 1, 0], [-1, 0, 0], [0, 0, -1]]),
        "rc2z": Matrix([[-1, 0, 0], [0, -1, 0], [0, 0, 1]]),
        "rc4z^-1": Matrix([[0, -1, 0], [1, 0, 0], [0, 0, -1]]),
        "rc3delta": Matrix([[0, 0, 1], [1, 0, 0], [0, 1, 0]]),
        "rc3delta^-1": Matrix([[0, 1, 0], [0, 0, 1], [1, 0, 0]]),
        "rc3gamma": Matrix([[0, 0, -1], [-1, 0, 0], [0, 1, 0]]),
        "rc3gamma^-1": Matrix([[0, -1, 0], [0, 0, 1], [-1, 0, 0]]),
        "rc3beta": Matrix([[0, 0, 1], [-1, 0, 0], [0, -1, 0]]),
        "rc3beta^-1": Matrix([[0, -1, 0], [0, 0, -1], [1, 0, 0]]),
        "rc3alpha": Matrix([[0, 0, -1], [1, 0, 0], [0, -1, 0]]),
        "rc3alpha^1": Matrix([[0, 1, 0], [0, 0, -1], [-1, 0, 0]]),
        "rc2e": Matrix([[1, 0, 0], [0, 0, -1], [0, -1, 0]]),
        "rc2f": Matrix([[1, 0, 0], [0, 0, 1], [0, 1, 0]]),
        "rc2c": Matrix([[0, 0, -1], [0, 1, 0], [-1, 0, 0]]),
        "rc2d": Matrix([[0, 0, 1], [0, 1, 0], [1, 0, 0]]),
        "rc2a": Matrix([[0, -1, 0], [-1, 0, 0], [0, 0, 1]]),
        "rc2b": Matrix([[0, 1, 0], [1, 0, 0], [0, 0, 1]]),
    },
    "E": {
        "iden": Matrix([[1, 0], [0, 1]]),
        "c4x": Matrix([[S(1) / 2, -sqrt(3) / 2], [-sqrt(3) / 2, -S(1) / 2]]),
        "c2x": Matrix([[1, 0], [0, 1]]),
        "c4x^-1": Matrix([[S(1) / 2, -sqrt(3) / 2], [-sqrt(3) / 2, -S(1) / 2]]),
        "c4y": Matrix([[S(1) / 2, sqrt(3) / 2], [sqrt(3) / 2, -S(1) / 2]]),
        "c2y": Matrix([[1, 0], [0, 1]]),
        "c4y^-1": Matrix([[S(1) / 2, sqrt(3) / 2], [sqrt(3) / 2, -S(1) / 2]]),
        "c4z": Matrix([[-1, 0], [0, 1]]),
        "c2z": Matrix([[1, 0], [0, 1]]),
        "c4z^-1": Matrix([[-1, 0], [0, 1]]),
        "c3delta": Matrix([[-S(1) / 2, sqrt(3) / 2], [-sqrt(3) / 2, -S(1) / 2]]),
        "c3delta^-1": Matrix([[-S(1) / 2, -sqrt(3) / 2], [sqrt(3) / 2, -S(1) / 2]]),
        "c3gamma": Matrix([[-S(1) / 2, sqrt(3) / 2], [-sqrt(3) / 2, -S(1) / 2]]),
        "c3gamma^-1": Matrix([[-S(1) / 2, -sqrt(3) / 2], [sqrt(3) / 2, -S(1) / 2]]),
        "c3beta": Matrix([[-S(1) / 2, sqrt(3) / 2], [-sqrt(3) / 2, -S(1) / 2]]),
        "c3beta^-1": Matrix([[-S(1) / 2, -sqrt(3) / 2], [sqrt(3) / 2, -S(1) / 2]]),
        "c3alpha": Matrix([[-S(1) / 2, sqrt(3) / 2], [-sqrt(3) / 2, -S(1) / 2]]),
        "c3alpha^1": Matrix([[-S(1) / 2, -sqrt(3) / 2], [sqrt(3) / 2, -S(1) / 2]]),
        "c2e": Matrix([[S(1) / 2, -sqrt(3) / 2], [-sqrt(3) / 2, -S(1) / 2]]),
        "c2f": Matrix([[S(1) / 2, -sqrt(3) / 2], [-sqrt(3) / 2, -S(1) / 2]]),
        "c2c": Matrix([[S(1) / 2, sqrt(3) / 2], [sqrt(3) / 2, -S(1) / 2]]),
        "c2d": Matrix([[S(1) / 2, sqrt(3) / 2], [sqrt(3) / 2, -S(1) / 2]]),
        "c2a": Matrix([[-1, 0], [0, 1]]),
        "c2b": Matrix([[-1, 0], [0, 1]]),
        "riden": Matrix([[1, 0], [0, 1]]),
        "rc4x": Matrix([[S(1) / 2, -sqrt(3) / 2], [-sqrt(3) / 2, -S(1) / 2]]),
        "rc2x": Matrix([[1, 0], [0, 1]]),
        "rc4x^-1": Matrix([[S(1) / 2, -sqrt(3) / 2], [-sqrt(3) / 2, -S(1) / 2]]),
        "rc4y": Matrix([[S(1) / 2, sqrt(3) / 2], [sqrt(3) / 2, -S(1) / 2]]),
        "rc2y": Matrix([[1, 0], [0, 1]]),
        "rc4y^-1": Matrix([[S(1) / 2, sqrt(3) / 2], [sqrt(3) / 2, -S(1) / 2]]),
        "rc4z": Matrix([[-1, 0], [0, 1]]),
        "rc2z": Matrix([[1, 0], [0, 1]]),
        "rc4z^-1": Matrix([[-1, 0], [0, 1]]),
        "rc3delta": Matrix([[-S(1) / 2, sqrt(3) / 2], [-sqrt(3) / 2, -S(1) / 2]]),
        "rc3delta^-1": Matrix([[-S(1) / 2, -sqrt(3) / 2], [sqrt(3) / 2, -S(1) / 2]]),
        "rc3gamma": Matrix([[-S(1) / 2, sqrt(3) / 2], [-sqrt(3) / 2, -S(1) / 2]]),
        "rc3gamma^-1": Matrix([[-S(1) / 2, -sqrt(3) / 2], [sqrt(3) / 2, -S(1) / 2]]),
        "rc3beta": Matrix([[-S(1) / 2, sqrt(3) / 2], [-sqrt(3) / 2, -S(1) / 2]]),
        "rc3beta^-1": Matrix([[-S(1) / 2, -sqrt(3) / 2], [sqrt(3) / 2, -S(1) / 2]]),
        "rc3alpha": Matrix([[-S(1) / 2, sqrt(3) / 2], [-sqrt(3) / 2, -S(1) / 2]]),
        "rc3alpha^1": Matrix([[-S(1) / 2, -sqrt(3) / 2], [sqrt(3) / 2, -S(1) / 2]]),
        "rc2e": Matrix([[S(1) / 2, -sqrt(3) / 2], [-sqrt(3) / 2, -S(1) / 2]]),
        "rc2f": Matrix([[S(1) / 2, -sqrt(3) / 2], [-sqrt(3) / 2, -S(1) / 2]]),
        "rc2c": Matrix([[S(1) / 2, sqrt(3) / 2], [sqrt(3) / 2, -S(1) / 2]]),
        "rc2d": Matrix([[S(1) / 2, sqrt(3) / 2], [sqrt(3) / 2, -S(1) / 2]]),
        "rc2a": Matrix([[-1, 0], [0, 1]]),
        "rc2b": Matrix([[-1, 0], [0, 1]]),
    },
    "G_1": {
        "iden": Matrix([[1, 0], [0, 1]]),
        "c4x": Matrix(
            [[sqrt(2) / 2, -sqrt(2) * I / 2], [-sqrt(2) * I / 2, sqrt(2) / 2]]
        ),
        "c2x": Matrix([[0, -I], [-I, 0]]),
        "c4x^-1": Matrix(
            [[sqrt(2) / 2, sqrt(2) * I / 2], [sqrt(2) * I / 2, sqrt(2) / 2]]
        ),
        "c4y": Matrix([[sqrt(2) / 2, -sqrt(2) / 2], [sqrt(2) / 2, sqrt(2) / 2]]),
        "c2y": Matrix([[0, -1], [1, 0]]),
        "c4y^-1": Matrix([[sqrt(2) / 2, sqrt(2) / 2], [-sqrt(2) / 2, sqrt(2) / 2]]),
        "c4z": Matrix([[sqrt(2) * (1 - I) / 2, 0], [0, sqrt(2) * (1 + I) / 2]]),
        "c2z": Matrix([[-I, 0], [0, I]]),
        "c4z^-1": Matrix([[sqrt(2) * (1 + I) / 2, 0], [0, sqrt(2) * (1 - I) / 2]]),
        "c3delta": Matrix(
            [[S(1) / 2 - I / 2, -S(1) / 2 - I / 2], [S(1) / 2 - I / 2, S(1) / 2 + I / 2]]
        ),
        "c3delta^-1": Matrix(
            [[S(1) / 2 + I / 2, S(1) / 2 + I / 2], [-S(1) / 2 + I / 2, S(1) / 2 - I / 2]]
        ),
        "c3gamma": Matrix(
            [[S(1) / 2 + I / 2, S(1) / 2 - I / 2], [-S(1) / 2 - I / 2, S(1) / 2 - I / 2]]
        ),
        "c3gamma^-1": Matrix(
            [[S(1) / 2 - I / 2, -S(1) / 2 + I / 2], [S(1) / 2 + I / 2, S(1) / 2 + I / 2]]
        ),
        "c3beta": Matrix(
            [[S(1) / 2 + I / 2, -S(1) / 2 + I / 2], [S(1) / 2 + I / 2, S(1) / 2 - I / 2]]
        ),
        "c3beta^-1": Matrix(
            [[S(1) / 2 - I / 2, S(1) / 2 - I / 2], [-S(1) / 2 - I / 2, S(1) / 2 + I / 2]]
        ),
        "c3alpha": Matrix(
            [[S(1) / 2 - I / 2, S(1) / 2 + I / 2], [-S(1) / 2 + I / 2, S(1) / 2 + I / 2]]
        ),
        "c3alpha^1": Matrix(
            [[S(1) / 2 + I / 2, -S(1) / 2 - I / 2], [S(1) / 2 - I / 2, S(1) / 2 - I / 2]]
        ),
        "c2e": Matrix(
            [[-sqrt(2) * I / 2, -sqrt(2) / 2], [sqrt(2) / 2, sqrt(2) * I / 2]]
        ),
        "c2f": Matrix(
            [[sqrt(2) * I / 2, -sqrt(2) / 2], [sqrt(2) / 2, -sqrt(2) * I / 2]]
        ),
        "c2c": Matrix(
            [[-sqrt(2) * I / 2, -sqrt(2) * I / 2], [-sqrt(2) * I / 2, sqrt(2) * I / 2]]
        ),
        "c2d": Matrix(
            [[-sqrt(2) * I / 2, sqrt(2) * I / 2], [sqrt(2) * I / 2, sqrt(2) * I / 2]]
        ),
        "c2a": Matrix([[0, sqrt(2) * (-1 - I) / 2], [sqrt(2) * (1 - I) / 2, 0]]),
        "c2b": Matrix([[0, sqrt(2) * (1 - I) / 2], [-sqrt(2) * I * (1 - I) / 2, 0]]),
        "riden": Matrix([[-1, 0], [0, -1]]),
        "rc4x": Matrix(
            [[-sqrt(2) / 2, sqrt(2) * I / 2], [sqrt(2) * I / 2, -sqrt(2) / 2]]
        ),
        "rc2x": Matrix([[0, I], [I, 0]]),
        "rc4x^-1": Matrix(
            [[-sqrt(2) / 2, -sqrt(2) * I / 2], [-sqrt(2) * I / 2, -sqrt(2) / 2]]
        ),
        "rc4y": Matrix([[-sqrt(2) / 2, sqrt(2) / 2], [-sqrt(2) / 2, -sqrt(2) / 2]]),
        "rc2y": Matrix([[0, 1], [-1, 0]]),
        "rc4y^-1": Matrix([[-sqrt(2) / 2, -sqrt(2) / 2], [sqrt(2) / 2, -sqrt(2) / 2]]),
        "rc4z": Matrix([[sqrt(2) * (-1 + I) / 2, 0], [0, sqrt(2) * (-1 - I) / 2]]),
        "rc2z": Matrix([[I, 0], [0, -I]]),
        "rc4z^-1": Matrix([[sqrt(2) * (-1 - I) / 2, 0], [0, sqrt(2) * (-1 + I) / 2]]),
        "rc3delta": Matrix(
            [[-S(1) / 2 + I / 2, S(1) / 2 + I / 2], [-S(1) / 2 + I / 2, -S(1) / 2 - I / 2]]
        ),
        "rc3delta^-1": Matrix(
            [[-S(1) / 2 - I / 2, -S(1) / 2 - I / 2], [S(1) / 2 - I / 2, -S(1) / 2 + I / 2]]
        ),
        "rc3gamma": Matrix(
            [[-S(1) / 2 - I / 2, -S(1) / 2 + I / 2], [S(1) / 2 + I / 2, -S(1) / 2 + I / 2]]
        ),
        "rc3gamma^-1": Matrix(
            [[-S(1) / 2 + I / 2, S(1) / 2 - I / 2], [-S(1) / 2 - I / 2, -S(1) / 2 - I / 2]]
        ),
        "rc3beta": Matrix(
            [[-S(1) / 2 - I / 2, S(1) / 2 - I / 2], [-S(1) / 2 - I / 2, -S(1) / 2 + I / 2]]
        ),
        "rc3beta^-1": Matrix(
            [[-S(1) / 2 + I / 2, -S(1) / 2 + I / 2], [S(1) / 2 + I / 2, -S(1) / 2 - I / 2]]
        ),
        "rc3alpha": Matrix(
            [[-S(1) / 2 + I / 2, -S(1) / 2 - I / 2], [S(1) / 2 - I / 2, -S(1) / 2 - I / 2]]
        ),
        "rc3alpha^1": Matrix(
            [[-S(1) / 2 - I / 2, S(1) / 2 + I / 2], [-S(1) / 2 + I / 2, -S(1) / 2 + I / 2]]
        ),
        "rc2e": Matrix(
            [[sqrt(2) * I / 2, sqrt(2) / 2], [-sqrt(2) / 2, -sqrt(2) * I / 2]]
        ),
        "rc2f": Matrix(
            [[-sqrt(2) * I / 2, sqrt(2) / 2], [-sqrt(2) / 2, sqrt(2) * I / 2]]
        ),
        "rc2c": Matrix(
            [[sqrt(2) * I / 2, sqrt(2) * I / 2], [sqrt(2) * I / 2, -sqrt(2) * I / 2]]
        ),
        "rc2d": Matrix(
            [[sqrt(2) * I / 2, -sqrt(2) * I / 2], [-sqrt(2) * I / 2, -sqrt(2) * I / 2]]
        ),
        "rc2a": Matrix([[0, sqrt(2) * (1 + I) / 2], [sqrt(2) * (-1 + I) / 2, 0]]),
        "rc2b": Matrix([[0, -sqrt(2) * (1 - I) / 2], [sqrt(2) * I * (1 - I) / 2, 0]]),
    },
    "G_2": {
        "iden": Matrix([[1, 0], [0, 1]]),
        "c4x": Matrix(
            [[-sqrt(2) / 2, sqrt(2) * I / 2], [sqrt(2) * I / 2, -sqrt(2) / 2]]
        ),
        "c2x": Matrix([[0, -I], [-I, 0]]),
        "c4x^-1": Matrix(
            [[-sqrt(2) / 2, -sqrt(2) * I / 2], [-sqrt(2) * I / 2, -sqrt(2) / 2]]
        ),
        "c4y": Matrix([[-sqrt(2) / 2, sqrt(2) / 2], [-sqrt(2) / 2, -sqrt(2) / 2]]),
        "c2y": Matrix([[0, -1], [1, 0]]),
        "c4y^-1": Matrix([[-sqrt(2) / 2, -sqrt(2) / 2], [sqrt(2) / 2, -sqrt(2) / 2]]),
        "c4z": Matrix([[sqrt(2) * (-1 + I) / 2, 0], [0, sqrt(2) * (-1 - I) / 2]]),
        "c2z": Matrix([[-I, 0], [0, I]]),
        "c4z^-1": Matrix([[sqrt(2) * (-1 - I) / 2, 0], [0, sqrt(2) * (-1 + I) / 2]]),
        "c3delta": Matrix(
            [[S(1) / 2 - I / 2, -S(1) / 2 - I / 2], [S(1) / 2 - I / 2, S(1) / 2 + I / 2]]
        ),
        "c3delta^-1": Matrix(
            [[S(1) / 2 + I / 2, S(1) / 2 + I / 2], [-S(1) / 2 + I / 2, S(1) / 2 - I / 2]]
        ),
        "c3gamma": Matrix(
            [[S(1) / 2 + I / 2, S(1) / 2 - I / 2], [-S(1) / 2 - I / 2, S(1) / 2 - I / 2]]
        ),
        "c3gamma^-1": Matrix(
            [[S(1) / 2 - I / 2, -S(1) / 2 + I / 2], [S(1) / 2 + I / 2, S(1) / 2 + I / 2]]
        ),
        "c3beta": Matrix(
            [[S(1) / 2 + I / 2, -S(1) / 2 + I / 2], [S(1) / 2 + I / 2, S(1) / 2 - I / 2]]
        ),
        "c3beta^-1": Matrix(
            [[S(1) / 2 - I / 2, S(1) / 2 - I / 2], [-S(1) / 2 - I / 2, S(1) / 2 + I / 2]]
        ),
        "c3alpha": Matrix(
            [[S(1) / 2 - I / 2, S(1) / 2 + I / 2], [-S(1) / 2 + I / 2, S(1) / 2 + I / 2]]
        ),
        "c3alpha^1": Matrix(
            [[S(1) / 2 + I / 2, -S(1) / 2 - I / 2], [S(1) / 2 - I / 2, S(1) / 2 - I / 2]]
        ),
        "c2e": Matrix(
            [[sqrt(2) * I / 2, sqrt(2) / 2], [-sqrt(2) / 2, -sqrt(2) * I / 2]]
        ),
        "c2f": Matrix(
            [[-sqrt(2) * I / 2, sqrt(2) / 2], [-sqrt(2) / 2, sqrt(2) * I / 2]]
        ),
        "c2c": Matrix(
            [[sqrt(2) * I / 2, sqrt(2) * I / 2], [sqrt(2) * I / 2, -sqrt(2) * I / 2]]
        ),
        "c2d": Matrix(
            [[sqrt(2) * I / 2, -sqrt(2) * I / 2], [-sqrt(2) * I / 2, -sqrt(2) * I / 2]]
        ),
        "c2a": Matrix([[0, sqrt(2) * (1 + I) / 2], [sqrt(2) * (-1 + I) / 2, 0]]),
        "c2b": Matrix([[0, -sqrt(2) * (1 - I) / 2], [sqrt(2) * I * (1 - I) / 2, 0]]),
        "riden": Matrix([[-1, 0], [0, -1]]),
        "rc4x": Matrix(
            [[sqrt(2) / 2, -sqrt(2) * I / 2], [-sqrt(2) * I / 2, sqrt(2) / 2]]
        ),
        "rc2x": Matrix([[0, I], [I, 0]]),
        "rc4x^-1": Matrix(
            [[sqrt(2) / 2, sqrt(2) * I / 2], [sqrt(2) * I / 2, sqrt(2) / 2]]
        ),
        "rc4y": Matrix([[sqrt(2) / 2, -sqrt(2) / 2], [sqrt(2) / 2, sqrt(2) / 2]]),
        "rc2y": Matrix([[0, 1], [-1, 0]]),
        "rc4y^-1": Matrix([[sqrt(2) / 2, sqrt(2) / 2], [-sqrt(2) / 2, sqrt(2) / 2]]),
        "rc4z": Matrix([[sqrt(2) * (1 - I) / 2, 0], [0, sqrt(2) * (1 + I) / 2]]),
        "rc2z": Matrix([[I, 0], [0, -I]]),
        "rc4z^-1": Matrix([[sqrt(2) * (1 + I) / 2, 0], [0, sqrt(2) * (1 - I) / 2]]),
        "rc3delta": Matrix(
            [[-S(1) / 2 + I / 2, S(1) / 2 + I / 2], [-S(1) / 2 + I / 2, -S(1) / 2 - I / 2]]
        ),
        "rc3delta^-1": Matrix(
            [[-S(1) / 2 - I / 2, -S(1) / 2 - I / 2], [S(1) / 2 - I / 2, -S(1) / 2 + I / 2]]
        ),
        "rc3gamma": Matrix(
            [[-S(1) / 2 - I / 2, -S(1) / 2 + I / 2], [S(1) / 2 + I / 2, -S(1) / 2 + I / 2]]
        ),
        "rc3gamma^-1": Matrix(
            [[-S(1) / 2 + I / 2, S(1) / 2 - I / 2], [-S(1) / 2 - I / 2, -S(1) / 2 - I / 2]]
        ),
        "rc3beta": Matrix(
            [[-S(1) / 2 - I / 2, S(1) / 2 - I / 2], [-S(1) / 2 - I / 2, -S(1) / 2 + I / 2]]
        ),
        "rc3beta^-1": Matrix(
            [[-S(1) / 2 + I / 2, -S(1) / 2 + I / 2], [S(1) / 2 + I / 2, -S(1) / 2 - I / 2]]
        ),
        "rc3alpha": Matrix(
            [[-S(1) / 2 + I / 2, -S(1) / 2 - I / 2], [S(1) / 2 - I / 2, -S(1) / 2 - I / 2]]
        ),
        "rc3alpha^1": Matrix(
            [[-S(1) / 2 - I / 2, S(1) / 2 + I / 2], [-S(1) / 2 + I / 2, -S(1) / 2 + I / 2]]
        ),
        "rc2e": Matrix(
            [[-sqrt(2) * I / 2, -sqrt(2) / 2], [sqrt(2) / 2, sqrt(2) * I / 2]]
        ),
        "rc2f": Matrix(
            [[sqrt(2) * I / 2, -sqrt(2) / 2], [sqrt(2) / 2, -sqrt(2) * I / 2]]
        ),
        "rc2c": Matrix(
            [[-sqrt(2) * I / 2, -sqrt(2) * I / 2], [-sqrt(2) * I / 2, sqrt(2) * I / 2]]
        ),
        "rc2d": Matrix(
            [[-sqrt(2) * I / 2, sqrt(2) * I / 2], [sqrt(2) * I / 2, sqrt(2) * I / 2]]
        ),
        "rc2a": Matrix([[0, sqrt(2) * (-1 - I) / 2], [sqrt(2) * (1 - I) / 2, 0]]),
        "rc2b": Matrix([[0, sqrt(2) * (1 - I) / 2], [-sqrt(2) * I * (1 - I) / 2, 0]]),
    },
    "H": {
        "iden": Matrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]),
        "c4x": Matrix(
            [
                [sqrt(2) / 4, -sqrt(6) * I / 4, -sqrt(6) / 4, sqrt(2) * I / 4],
                [-sqrt(6) * I / 4, -sqrt(2) / 4, -sqrt(2) * I / 4, -sqrt(6) / 4],
                [-sqrt(6) / 4, -sqrt(2) * I / 4, -sqrt(2) / 4, -sqrt(6) * I / 4],
                [sqrt(2) * I / 4, -sqrt(6) / 4, -sqrt(6) * I / 4, sqrt(2) / 4],
            ]
        ),
        "c2x": Matrix([[0, 0, 0, I], [0, 0, I, 0], [0, I, 0, 0], [I, 0, 0, 0]]),
        "c4x^-1": Matrix(
            [
                [sqrt(2) / 4, sqrt(6) * I / 4, -sqrt(6) / 4, -sqrt(2) * I / 4],
                [sqrt(6) * I / 4, -sqrt(2) / 4, sqrt(2) * I / 4, -sqrt(6) / 4],
                [-sqrt(6) / 4, sqrt(2) * I / 4, -sqrt(2) / 4, sqrt(6) * I / 4],
                [-sqrt(2) * I / 4, -sqrt(6) / 4, sqrt(6) * I / 4, sqrt(2) / 4],
            ]
        ),
        "c4y": Matrix(
            [
                [sqrt(2) / 4, -sqrt(6) / 4, sqrt(6) / 4, -sqrt(2) / 4],
                [sqrt(6) / 4, -sqrt(2) / 4, -sqrt(2) / 4, sqrt(6) / 4],
                [sqrt(6) / 4, sqrt(2) / 4, -sqrt(2) / 4, -sqrt(6) / 4],
                [sqrt(2) / 4, sqrt(6) / 4, sqrt(6) / 4, sqrt(2) / 4],
            ]
        ),
        "c2y": Matrix([[0, 0, 0, -1], [0, 0, 1, 0], [0, -1, 0, 0], [1, 0, 0, 0]]),
        "c4y^-1": Matrix(
            [
                [sqrt(2) / 4, sqrt(6) / 4, sqrt(6) / 4, sqrt(2) / 4],
                [-sqrt(6) / 4, -sqrt(2) / 4, sqrt(2) / 4, sqrt(6) / 4],
                [sqrt(6) / 4, -sqrt(2) / 4, -sqrt(2) / 4, sqrt(6) / 4],
                [-sqrt(2) / 4, sqrt(6) / 4, -sqrt(6) / 4, sqrt(2) / 4],
            ]
        ),
        "c4z": Matrix(
            [
                [sqrt(2) * (-1 - I) / 2, 0, 0, 0],
                [0, sqrt(2) * (1 - I) / 2, 0, 0],
                [0, 0, sqrt(2) * (1 + I) / 2, 0],
                [0, 0, 0, sqrt(2) * (-1 + I) / 2],
            ]
        ),
        "c2z": Matrix([[I, 0, 0, 0], [0, -I, 0, 0], [0, 0, I, 0], [0, 0, 0, -I]]),
        "c4z^-1": Matrix(
            [
                [sqrt(2) * (-1 + I) / 2, 0, 0, 0],
                [0, sqrt(2) * (1 + I) / 2, 0, 0],
                [0, 0, sqrt(2) * (1 - I) / 2, 0],
                [0, 0, 0, sqrt(2) * (-1 - I) / 2],
            ]
        ),
        "c3delta": Matrix(
            [
                [
                    -1 / 4 - I / 4,
                    -sqrt(3) * (1 - I) / 4,
                    sqrt(3) * I * (1 - I) / 4,
                    1 / 4 - I / 4,
                ],
                [
                    -sqrt(3) * (1 + I) / 4,
                    -1 / 4 + I / 4,
                    -1 / 4 - I / 4,
                    sqrt(3) * I * (1 + I) / 4,
                ],
                [
                    -sqrt(3) * I * (1 - I) / 4,
                    1 / 4 - I / 4,
                    -1 / 4 - I / 4,
                    sqrt(3) * (1 - I) / 4,
                ],
                [
                    -1 / 4 - I / 4,
                    sqrt(3) * (1 - I) / 4,
                    sqrt(3) * (1 + I) / 4,
                    -1 / 4 + I / 4,
                ],
            ]
        ),
        "c3delta^-1": Matrix(
            [
                [
                    -1 / 4 + I / 4,
                    sqrt(3) * (-1 + I) / 4,
                    sqrt(3) * (-1 + I) / 4,
                    -1 / 4 + I / 4,
                ],
                [
                    sqrt(3) * (-1 - I) / 4,
                    -1 / 4 - I / 4,
                    1 / 4 + I / 4,
                    sqrt(3) * (1 + I) / 4,
                ],
                [
                    sqrt(3) * (1 - I) / 4,
                    -1 / 4 + I / 4,
                    -1 / 4 + I / 4,
                    sqrt(3) * (1 - I) / 4,
                ],
                [
                    1 / 4 + I / 4,
                    sqrt(3) * (-1 - I) / 4,
                    sqrt(3) * (1 + I) / 4,
                    -1 / 4 - I / 4,
                ],
            ]
        ),
        "c3gamma": Matrix(
            [
                [
                    -1 / 4 + I / 4,
                    sqrt(3) * (1 + I) / 4,
                    sqrt(3) * (1 - I) / 4,
                    -1 / 4 - I / 4,
                ],
                [
                    sqrt(3) * (1 - I) / 4,
                    -1 / 4 - I / 4,
                    1 / 4 - I / 4,
                    sqrt(3) * (-1 - I) / 4,
                ],
                [
                    sqrt(3) * (-1 + I) / 4,
                    -1 / 4 - I / 4,
                    -1 / 4 + I / 4,
                    sqrt(3) * (-1 - I) / 4,
                ],
                [
                    1 / 4 - I / 4,
                    sqrt(3) * (1 + I) / 4,
                    sqrt(3) * (-1 + I) / 4,
                    -1 / 4 - I / 4,
                ],
            ]
        ),
        "c3gamma^-1": Matrix(
            [
                [
                    -1 / 4 - I / 4,
                    sqrt(3) * (1 + I) / 4,
                    sqrt(3) * (-1 - I) / 4,
                    1 / 4 + I / 4,
                ],
                [
                    sqrt(3) * (1 - I) / 4,
                    -1 / 4 + I / 4,
                    -1 / 4 + I / 4,
                    sqrt(3) * (1 - I) / 4,
                ],
                [
                    sqrt(3) * (1 + I) / 4,
                    1 / 4 + I / 4,
                    -1 / 4 - I / 4,
                    sqrt(3) * (-1 - I) / 4,
                ],
                [
                    -1 / 4 + I / 4,
                    sqrt(3) * (-1 + I) / 4,
                    sqrt(3) * (-1 + I) / 4,
                    -1 / 4 + I / 4,
                ],
            ]
        ),
        "c3beta": Matrix(
            [
                [
                    -1 / 4 + I / 4,
                    sqrt(3) * (-1 - I) / 4,
                    sqrt(3) * (1 - I) / 4,
                    1 / 4 + I / 4,
                ],
                [
                    sqrt(3) * (-1 + I) / 4,
                    -1 / 4 - I / 4,
                    -1 / 4 + I / 4,
                    sqrt(3) * (-1 - I) / 4,
                ],
                [
                    sqrt(3) * (-1 + I) / 4,
                    1 / 4 + I / 4,
                    -1 / 4 + I / 4,
                    sqrt(3) * (1 + I) / 4,
                ],
                [
                    -1 / 4 + I / 4,
                    sqrt(3) * (1 + I) / 4,
                    sqrt(3) * (1 - I) / 4,
                    -1 / 4 - I / 4,
                ],
            ]
        ),
        "c3beta^-1": Matrix(
            [
                [
                    -1 / 4 - I / 4,
                    sqrt(3) * (-1 - I) / 4,
                    sqrt(3) * (-1 - I) / 4,
                    -1 / 4 - I / 4,
                ],
                [
                    sqrt(3) * (-1 + I) / 4,
                    -1 / 4 + I / 4,
                    1 / 4 - I / 4,
                    sqrt(3) * (1 - I) / 4,
                ],
                [
                    sqrt(3) * (1 + I) / 4,
                    -1 / 4 - I / 4,
                    -1 / 4 - I / 4,
                    sqrt(3) * (1 + I) / 4,
                ],
                [
                    1 / 4 - I / 4,
                    sqrt(3) * (-1 + I) / 4,
                    sqrt(3) * (1 - I) / 4,
                    -1 / 4 + I / 4,
                ],
            ]
        ),
        "c3alpha": Matrix(
            [
                [
                    -1 / 4 - I / 4,
                    sqrt(3) * (1 - I) / 4,
                    sqrt(3) * (1 + I) / 4,
                    -1 / 4 + I / 4,
                ],
                [
                    sqrt(3) * (1 + I) / 4,
                    -1 / 4 + I / 4,
                    1 / 4 + I / 4,
                    sqrt(3) * (-1 + I) / 4,
                ],
                [
                    sqrt(3) * (-1 - I) / 4,
                    -1 / 4 + I / 4,
                    -1 / 4 - I / 4,
                    sqrt(3) * (-1 + I) / 4,
                ],
                [
                    1 / 4 + I / 4,
                    sqrt(3) * (1 - I) / 4,
                    sqrt(3) * (-1 - I) / 4,
                    -1 / 4 + I / 4,
                ],
            ]
        ),
        "c3alpha^1": Matrix(
            [
                [
                    -1 / 4 + I / 4,
                    sqrt(3) * (1 - I) / 4,
                    sqrt(3) * (-1 + I) / 4,
                    1 / 4 - I / 4,
                ],
                [
                    sqrt(3) * (1 + I) / 4,
                    -1 / 4 - I / 4,
                    -1 / 4 - I / 4,
                    sqrt(3) * (1 + I) / 4,
                ],
                [
                    sqrt(3) * (1 - I) / 4,
                    1 / 4 - I / 4,
                    -1 / 4 + I / 4,
                    sqrt(3) * (-1 + I) / 4,
                ],
                [
                    -1 / 4 - I / 4,
                    sqrt(3) * (-1 - I) / 4,
                    sqrt(3) * (-1 - I) / 4,
                    -1 / 4 - I / 4,
                ],
            ]
        ),
        "c2e": Matrix(
            [
                [sqrt(2) * I / 4, sqrt(6) / 4, -sqrt(6) * I / 4, -sqrt(2) / 4],
                [-sqrt(6) / 4, sqrt(2) * I / 4, -sqrt(2) / 4, sqrt(6) * I / 4],
                [-sqrt(6) * I / 4, sqrt(2) / 4, -sqrt(2) * I / 4, sqrt(6) / 4],
                [sqrt(2) / 4, sqrt(6) * I / 4, -sqrt(6) / 4, -sqrt(2) * I / 4],
            ]
        ),
        "c2f": Matrix(
            [
                [-sqrt(2) * I / 4, sqrt(6) / 4, sqrt(6) * I / 4, -sqrt(2) / 4],
                [-sqrt(6) / 4, -sqrt(2) * I / 4, -sqrt(2) / 4, -sqrt(6) * I / 4],
                [sqrt(6) * I / 4, sqrt(2) / 4, sqrt(2) * I / 4, sqrt(6) / 4],
                [sqrt(2) / 4, -sqrt(6) * I / 4, -sqrt(6) / 4, sqrt(2) * I / 4],
            ]
        ),
        "c2c": Matrix(
            [
                [sqrt(2) * I / 4, sqrt(6) * I / 4, sqrt(6) * I / 4, sqrt(2) * I / 4],
                [sqrt(6) * I / 4, sqrt(2) * I / 4, -sqrt(2) * I / 4, -sqrt(6) * I / 4],
                [sqrt(6) * I / 4, -sqrt(2) * I / 4, -sqrt(2) * I / 4, sqrt(6) * I / 4],
                [sqrt(2) * I / 4, -sqrt(6) * I / 4, sqrt(6) * I / 4, -sqrt(2) * I / 4],
            ]
        ),
        "c2d": Matrix(
            [
                [sqrt(2) * I / 4, -sqrt(6) * I / 4, sqrt(6) * I / 4, -sqrt(2) * I / 4],
                [-sqrt(6) * I / 4, sqrt(2) * I / 4, sqrt(2) * I / 4, -sqrt(6) * I / 4],
                [sqrt(6) * I / 4, sqrt(2) * I / 4, -sqrt(2) * I / 4, -sqrt(6) * I / 4],
                [
                    -sqrt(2) * I / 4,
                    -sqrt(6) * I / 4,
                    -sqrt(6) * I / 4,
                    -sqrt(2) * I / 4,
                ],
            ]
        ),
        "c2a": Matrix(
            [
                [0, 0, 0, sqrt(2) * (1 - I) / 2],
                [0, 0, sqrt(2) * (1 + I) / 2, 0],
                [0, sqrt(2) * (-1 + I) / 2, 0, 0],
                [sqrt(2) * (-1 - I) / 2, 0, 0, 0],
            ]
        ),
        "c2b": Matrix(
            [
                [0, 0, 0, -sqrt(2) * I * (1 - I) / 2],
                [0, 0, -sqrt(2) * (1 - I) / 2, 0],
                [0, sqrt(2) * I * (1 - I) / 2, 0, 0],
                [sqrt(2) * (1 - I) / 2, 0, 0, 0],
            ]
        ),
        "riden": Matrix([[-1, 0, 0, 0], [0, -1, 0, 0], [0, 0, -1, 0], [0, 0, 0, -1]]),
        "rc4x": Matrix(
            [
                [-sqrt(2) / 4, sqrt(6) * I / 4, sqrt(6) / 4, -sqrt(2) * I / 4],
                [sqrt(6) * I / 4, sqrt(2) / 4, sqrt(2) * I / 4, sqrt(6) / 4],
                [sqrt(6) / 4, sqrt(2) * I / 4, sqrt(2) / 4, sqrt(6) * I / 4],
                [-sqrt(2) * I / 4, sqrt(6) / 4, sqrt(6) * I / 4, -sqrt(2) / 4],
            ]
        ),
        "rc2x": Matrix([[0, 0, 0, -I], [0, 0, -I, 0], [0, -I, 0, 0], [-I, 0, 0, 0]]),
        "rc4x^-1": Matrix(
            [
                [-sqrt(2) / 4, -sqrt(6) * I / 4, sqrt(6) / 4, sqrt(2) * I / 4],
                [-sqrt(6) * I / 4, sqrt(2) / 4, -sqrt(2) * I / 4, sqrt(6) / 4],
                [sqrt(6) / 4, -sqrt(2) * I / 4, sqrt(2) / 4, -sqrt(6) * I / 4],
                [sqrt(2) * I / 4, sqrt(6) / 4, -sqrt(6) * I / 4, -sqrt(2) / 4],
            ]
        ),
        "rc4y": Matrix(
            [
                [-sqrt(2) / 4, sqrt(6) / 4, -sqrt(6) / 4, sqrt(2) / 4],
                [-sqrt(6) / 4, sqrt(2) / 4, sqrt(2) / 4, -sqrt(6) / 4],
                [-sqrt(6) / 4, -sqrt(2) / 4, sqrt(2) / 4, sqrt(6) / 4],
                [-sqrt(2) / 4, -sqrt(6) / 4, -sqrt(6) / 4, -sqrt(2) / 4],
            ]
        ),
        "rc2y": Matrix([[0, 0, 0, 1], [0, 0, -1, 0], [0, 1, 0, 0], [-1, 0, 0, 0]]),
        "rc4y^-1": Matrix(
            [
                [-sqrt(2) / 4, -sqrt(6) / 4, -sqrt(6) / 4, -sqrt(2) / 4],
                [sqrt(6) / 4, sqrt(2) / 4, -sqrt(2) / 4, -sqrt(6) / 4],
                [-sqrt(6) / 4, sqrt(2) / 4, sqrt(2) / 4, -sqrt(6) / 4],
                [sqrt(2) / 4, -sqrt(6) / 4, sqrt(6) / 4, -sqrt(2) / 4],
            ]
        ),
        "rc4z": Matrix(
            [
                [sqrt(2) * (1 + I) / 2, 0, 0, 0],
                [0, sqrt(2) * (-1 + I) / 2, 0, 0],
                [0, 0, sqrt(2) * (-1 - I) / 2, 0],
                [0, 0, 0, sqrt(2) * (1 - I) / 2],
            ]
        ),
        "rc2z": Matrix([[-I, 0, 0, 0], [0, I, 0, 0], [0, 0, -I, 0], [0, 0, 0, I]]),
        "rc4z^-1": Matrix(
            [
                [sqrt(2) * (1 - I) / 2, 0, 0, 0],
                [0, sqrt(2) * (-1 - I) / 2, 0, 0],
                [0, 0, sqrt(2) * (-1 + I) / 2, 0],
                [0, 0, 0, sqrt(2) * (1 + I) / 2],
            ]
        ),
        "rc3delta": Matrix(
            [
                [
                    1 / 4 + I / 4,
                    sqrt(3) * (1 - I) / 4,
                    -sqrt(3) * I * (1 - I) / 4,
                    -1 / 4 + I / 4,
                ],
                [
                    sqrt(3) * (1 + I) / 4,
                    1 / 4 - I / 4,
                    1 / 4 + I / 4,
                    sqrt(3) * (1 - I) / 4,
                ],
                [
                    sqrt(3) * I * (1 - I) / 4,
                    -1 / 4 + I / 4,
                    1 / 4 + I / 4,
                    -sqrt(3) * (1 - I) / 4,
                ],
                [
                    1 / 4 + I / 4,
                    sqrt(3) * I * (1 + I) / 4,
                    -sqrt(3) * (1 + I) / 4,
                    1 / 4 - I / 4,
                ],
            ]
        ),
        "rc3delta^-1": Matrix(
            [
                [
                    1 / 4 - I / 4,
                    sqrt(3) * (1 - I) / 4,
                    sqrt(3) * (1 - I) / 4,
                    1 / 4 - I / 4,
                ],
                [
                    sqrt(3) * (1 + I) / 4,
                    1 / 4 + I / 4,
                    -1 / 4 - I / 4,
                    sqrt(3) * (-1 - I) / 4,
                ],
                [
                    sqrt(3) * (-1 + I) / 4,
                    1 / 4 - I / 4,
                    1 / 4 - I / 4,
                    sqrt(3) * (-1 + I) / 4,
                ],
                [
                    -1 / 4 - I / 4,
                    sqrt(3) * (1 + I) / 4,
                    sqrt(3) * (-1 - I) / 4,
                    1 / 4 + I / 4,
                ],
            ]
        ),
        "rc3gamma": Matrix(
            [
                [
                    1 / 4 - I / 4,
                    sqrt(3) * (-1 - I) / 4,
                    sqrt(3) * (-1 + I) / 4,
                    1 / 4 + I / 4,
                ],
                [
                    sqrt(3) * (-1 + I) / 4,
                    1 / 4 + I / 4,
                    -1 / 4 + I / 4,
                    sqrt(3) * (1 + I) / 4,
                ],
                [
                    sqrt(3) * (1 - I) / 4,
                    1 / 4 + I / 4,
                    1 / 4 - I / 4,
                    sqrt(3) * (1 + I) / 4,
                ],
                [
                    -1 / 4 + I / 4,
                    sqrt(3) * (-1 - I) / 4,
                    sqrt(3) * (1 - I) / 4,
                    1 / 4 + I / 4,
                ],
            ]
        ),
        "rc3gamma^-1": Matrix(
            [
                [
                    1 / 4 + I / 4,
                    sqrt(3) * (-1 - I) / 4,
                    sqrt(3) * (1 + I) / 4,
                    -1 / 4 - I / 4,
                ],
                [
                    sqrt(3) * (-1 + I) / 4,
                    1 / 4 - I / 4,
                    1 / 4 - I / 4,
                    sqrt(3) * (-1 + I) / 4,
                ],
                [
                    sqrt(3) * (-1 - I) / 4,
                    -1 / 4 - I / 4,
                    1 / 4 + I / 4,
                    sqrt(3) * (1 + I) / 4,
                ],
                [
                    1 / 4 - I / 4,
                    sqrt(3) * (1 - I) / 4,
                    sqrt(3) * (1 - I) / 4,
                    1 / 4 - I / 4,
                ],
            ]
        ),
        "rc3beta": Matrix(
            [
                [
                    1 / 4 - I / 4,
                    sqrt(3) * (1 + I) / 4,
                    sqrt(3) * (-1 + I) / 4,
                    -1 / 4 - I / 4,
                ],
                [
                    sqrt(3) * (1 - I) / 4,
                    1 / 4 + I / 4,
                    1 / 4 - I / 4,
                    sqrt(3) * (1 + I) / 4,
                ],
                [
                    sqrt(3) * (1 - I) / 4,
                    -1 / 4 - I / 4,
                    1 / 4 - I / 4,
                    sqrt(3) * (-1 - I) / 4,
                ],
                [
                    1 / 4 - I / 4,
                    sqrt(3) * (-1 - I) / 4,
                    sqrt(3) * (-1 + I) / 4,
                    1 / 4 + I / 4,
                ],
            ]
        ),
        "rc3beta^-1": Matrix(
            [
                [
                    1 / 4 + I / 4,
                    sqrt(3) * (1 + I) / 4,
                    sqrt(3) * (1 + I) / 4,
                    1 / 4 + I / 4,
                ],
                [
                    sqrt(3) * (1 - I) / 4,
                    1 / 4 - I / 4,
                    -1 / 4 + I / 4,
                    sqrt(3) * (-1 + I) / 4,
                ],
                [
                    sqrt(3) * (-1 - I) / 4,
                    1 / 4 + I / 4,
                    1 / 4 + I / 4,
                    sqrt(3) * (-1 - I) / 4,
                ],
                [
                    -1 / 4 + I / 4,
                    sqrt(3) * (1 - I) / 4,
                    sqrt(3) * (-1 + I) / 4,
                    1 / 4 - I / 4,
                ],
            ]
        ),
        "rc3alpha": Matrix(
            [
                [
                    1 / 4 + I / 4,
                    sqrt(3) * (-1 + I) / 4,
                    sqrt(3) * (-1 - I) / 4,
                    1 / 4 - I / 4,
                ],
                [
                    sqrt(3) * (-1 - I) / 4,
                    1 / 4 - I / 4,
                    -1 / 4 - I / 4,
                    sqrt(3) * (1 - I) / 4,
                ],
                [
                    sqrt(3) * (1 + I) / 4,
                    1 / 4 - I / 4,
                    1 / 4 + I / 4,
                    sqrt(3) * (1 - I) / 4,
                ],
                [
                    -1 / 4 - I / 4,
                    sqrt(3) * (-1 + I) / 4,
                    sqrt(3) * (1 + I) / 4,
                    1 / 4 - I / 4,
                ],
            ]
        ),
        "rc3alpha^1": Matrix(
            [
                [
                    1 / 4 - I / 4,
                    sqrt(3) * (-1 + I) / 4,
                    sqrt(3) * (1 - I) / 4,
                    -1 / 4 + I / 4,
                ],
                [
                    sqrt(3) * (-1 - I) / 4,
                    1 / 4 + I / 4,
                    1 / 4 + I / 4,
                    sqrt(3) * (-1 - I) / 4,
                ],
                [
                    sqrt(3) * (-1 + I) / 4,
                    -1 / 4 + I / 4,
                    1 / 4 - I / 4,
                    sqrt(3) * (1 - I) / 4,
                ],
                [
                    1 / 4 + I / 4,
                    sqrt(3) * (1 + I) / 4,
                    sqrt(3) * (1 + I) / 4,
                    1 / 4 + I / 4,
                ],
            ]
        ),
        "rc2e": Matrix(
            [
                [-sqrt(2) * I / 4, -sqrt(6) / 4, sqrt(6) * I / 4, sqrt(2) / 4],
                [sqrt(6) / 4, -sqrt(2) * I / 4, sqrt(2) / 4, -sqrt(6) * I / 4],
                [sqrt(6) * I / 4, -sqrt(2) / 4, sqrt(2) * I / 4, -sqrt(6) / 4],
                [-sqrt(2) / 4, -sqrt(6) * I / 4, sqrt(6) / 4, sqrt(2) * I / 4],
            ]
        ),
        "rc2f": Matrix(
            [
                [sqrt(2) * I / 4, -sqrt(6) / 4, -sqrt(6) * I / 4, sqrt(2) / 4],
                [sqrt(6) / 4, sqrt(2) * I / 4, sqrt(2) / 4, sqrt(6) * I / 4],
                [-sqrt(6) * I / 4, -sqrt(2) / 4, -sqrt(2) * I / 4, -sqrt(6) / 4],
                [-sqrt(2) / 4, sqrt(6) * I / 4, sqrt(6) / 4, -sqrt(2) * I / 4],
            ]
        ),
        "rc2c": Matrix(
            [
                [
                    -sqrt(2) * I / 4,
                    -sqrt(6) * I / 4,
                    -sqrt(6) * I / 4,
                    -sqrt(2) * I / 4,
                ],
                [-sqrt(6) * I / 4, -sqrt(2) * I / 4, sqrt(2) * I / 4, sqrt(6) * I / 4],
                [-sqrt(6) * I / 4, sqrt(2) * I / 4, sqrt(2) * I / 4, -sqrt(6) * I / 4],
                [-sqrt(2) * I / 4, sqrt(6) * I / 4, -sqrt(6) * I / 4, sqrt(2) * I / 4],
            ]
        ),
        "rc2d": Matrix(
            [
                [-sqrt(2) * I / 4, sqrt(6) * I / 4, -sqrt(6) * I / 4, sqrt(2) * I / 4],
                [sqrt(6) * I / 4, -sqrt(2) * I / 4, -sqrt(2) * I / 4, sqrt(6) * I / 4],
                [-sqrt(6) * I / 4, -sqrt(2) * I / 4, sqrt(2) * I / 4, sqrt(6) * I / 4],
                [sqrt(2) * I / 4, sqrt(6) * I / 4, sqrt(6) * I / 4, sqrt(2) * I / 4],
            ]
        ),
        "rc2a": Matrix(
            [
                [0, 0, 0, sqrt(2) * (-1 + I) / 2],
                [0, 0, sqrt(2) * (-1 - I) / 2, 0],
                [0, sqrt(2) * (1 - I) / 2, 0, 0],
                [sqrt(2) * (1 + I) / 2, 0, 0, 0],
            ]
        ),
        "rc2b": Matrix(
            [
                [0, 0, 0, sqrt(2) * I * (1 - I) / 2],
                [0, 0, sqrt(2) * (1 - I) / 2, 0],
                [0, -sqrt(2) * I * (1 - I) / 2, 0, 0],
                [-sqrt(2) * (1 - I) / 2, 0, 0, 0],
            ]
        ),
    },
}


Dic4_irreps = {
    "A_1": {
        "iden": Matrix([[1]]),
        "c4z": Matrix([[1]]),
        "c2z": Matrix([[1]]),
        "c4z^-1": Matrix([[1]]),
        "riden": Matrix([[1]]),
        "rc4z": Matrix([[1]]),
        "rc2z": Matrix([[1]]),
        "rc4z^-1": Matrix([[1]]),
        "invc2x": Matrix([[1]]),
        "invc2y": Matrix([[1]]),
        "invc2a": Matrix([[1]]),
        "invc2b": Matrix([[1]]),
        "invrc2x": Matrix([[1]]),
        "invrc2y": Matrix([[1]]),
        "invrc2a": Matrix([[1]]),
        "invrc2b": Matrix([[1]]),
    },
    "A_2": {
        "iden": Matrix([[1]]),
        "c4z": Matrix([[1]]),
        "c2z": Matrix([[1]]),
        "c4z^-1": Matrix([[1]]),
        "riden": Matrix([[1]]),
        "rc4z": Matrix([[1]]),
        "rc2z": Matrix([[1]]),
        "rc4z^-1": Matrix([[1]]),
        "invc2x": Matrix([[-1]]),
        "invc2y": Matrix([[-1]]),
        "invc2a": Matrix([[-1]]),
        "invc2b": Matrix([[-1]]),
        "invrc2x": Matrix([[-1]]),
        "invrc2y": Matrix([[-1]]),
        "invrc2a": Matrix([[-1]]),
        "invrc2b": Matrix([[-1]]),
    },
    "E": {
        "iden": Matrix([[1, 0], [0, 1]]),
        "c4z": Matrix([[0, -1], [1, 0]]),
        "c2z": Matrix([[-1, 0], [0, -1]]),
        "c4z^-1": Matrix([[0, 1], [-1, 0]]),
        "riden": Matrix([[1, 0], [0, 1]]),
        "rc4z": Matrix([[0, -1], [1, 0]]),
        "rc2z": Matrix([[-1, 0], [0, -1]]),
        "rc4z^-1": Matrix([[0, 1], [-1, 0]]),
        "invc2x": Matrix([[-1, 0], [0, 1]]),
        "invc2y": Matrix([[1, 0], [0, -1]]),
        "invc2a": Matrix([[0, -1], [-1, 0]]),
        "invc2b": Matrix([[0, 1], [1, 0]]),
        "invrc2x": Matrix([[-1, 0], [0, 1]]),
        "invrc2y": Matrix([[1, 0], [0, -1]]),
        "invrc2a": Matrix([[0, -1], [-1, 0]]),
        "invrc2b": Matrix([[0, 1], [1, 0]]),
    },
    "B_1": {
        "iden": Matrix([[1]]),
        "c4z": Matrix([[-1]]),
        "c2z": Matrix([[1]]),
        "c4z^-1": Matrix([[-1]]),
        "riden": Matrix([[1]]),
        "rc4z": Matrix([[-1]]),
        "rc2z": Matrix([[1]]),
        "rc4z^-1": Matrix([[-1]]),
        "invc2x": Matrix([[1]]),
        "invc2y": Matrix([[1]]),
        "invc2a": Matrix([[-1]]),
        "invc2b": Matrix([[-1]]),
        "invrc2x": Matrix([[1]]),
        "invrc2y": Matrix([[1]]),
        "invrc2a": Matrix([[-1]]),
        "invrc2b": Matrix([[-1]]),
    },
    "B_2": {
        "iden": Matrix([[1]]),
        "c4z": Matrix([[-1]]),
        "c2z": Matrix([[1]]),
        "c4z^-1": Matrix([[-1]]),
        "riden": Matrix([[1]]),
        "rc4z": Matrix([[-1]]),
        "rc2z": Matrix([[1]]),
        "rc4z^-1": Matrix([[-1]]),
        "invc2x": Matrix([[-1]]),
        "invc2y": Matrix([[-1]]),
        "invc2a": Matrix([[1]]),
        "invc2b": Matrix([[1]]),
        "invrc2x": Matrix([[-1]]),
        "invrc2y": Matrix([[-1]]),
        "invrc2a": Matrix([[1]]),
        "invrc2b": Matrix([[1]]),
    },
    "G_1": {
        "iden": Matrix([[1, 0], [0, 1]]),
        "c4z": Matrix([[sqrt(2) * (1 - I) / 2, 0], [0, sqrt(2) * (1 + I) / 2]]),
        "c2z": Matrix([[-I, 0], [0, I]]),
        "c4z^-1": Matrix([[sqrt(2) * I * (1 - I) / 2, 0], [0, sqrt(2) * (1 - I) / 2]]),
        "riden": Matrix([[-1, 0], [0, -1]]),
        "rc4z": Matrix([[sqrt(2) * (-1 + I) / 2, 0], [0, sqrt(2) * (-1 - I) / 2]]),
        "rc2z": Matrix([[I, 0], [0, -I]]),
        "rc4z^-1": Matrix(
            [[sqrt(2) * I * (-1 + I) / 2, 0], [0, sqrt(2) * I * (1 + I) / 2]]
        ),
        "invc2x": Matrix([[0, -I], [-I, 0]]),
        "invc2y": Matrix([[0, -1], [1, 0]]),
        "invc2a": Matrix([[0, sqrt(2) * (-1 - I) / 2], [sqrt(2) * (1 - I) / 2, 0]]),
        "invc2b": Matrix([[0, sqrt(2) * (1 - I) / 2], [sqrt(2) * (-1 - I) / 2, 0]]),
        "invrc2x": Matrix([[0, I], [I, 0]]),
        "invrc2y": Matrix([[0, 1], [-1, 0]]),
        "invrc2a": Matrix(
            [[0, sqrt(2) * I * (1 - I) / 2], [sqrt(2) * I * (1 + I) / 2, 0]]
        ),
        "invrc2b": Matrix([[0, sqrt(2) * (-1 + I) / 2], [sqrt(2) * (1 + I) / 2, 0]]),
    },
    "G_2": {
        "iden": Matrix([[1, 0], [0, 1]]),
        "c4z": Matrix([[-sqrt(2) * (1 - I) / 2, 0], [0, -sqrt(2) * (1 + I) / 2]]),
        "c2z": Matrix([[-I, 0], [0, I]]),
        "c4z^-1": Matrix(
            [[sqrt(2) * I * (-1 + I) / 2, 0], [0, sqrt(2) * (-1 + I) / 2]]
        ),
        "riden": Matrix([[-1, 0], [0, -1]]),
        "rc4z": Matrix([[sqrt(2) * (1 - I) / 2, 0], [0, sqrt(2) * (1 + I) / 2]]),
        "rc2z": Matrix([[I, 0], [0, -I]]),
        "rc4z^-1": Matrix([[sqrt(2) * I * (1 - I) / 2, 0], [0, sqrt(2) * (1 - I) / 2]]),
        "invc2x": Matrix([[0, -I], [-I, 0]]),
        "invc2y": Matrix([[0, -1], [1, 0]]),
        "invc2a": Matrix([[0, sqrt(2) * (1 + I) / 2], [sqrt(2) * (-1 + I) / 2, 0]]),
        "invc2b": Matrix([[0, sqrt(2) * (-1 + I) / 2], [sqrt(2) * (1 + I) / 2, 0]]),
        "invrc2x": Matrix([[0, I], [I, 0]]),
        "invrc2y": Matrix([[0, 1], [-1, 0]]),
        "invrc2a": Matrix(
            [[0, sqrt(2) * I * (-1 + I) / 2], [sqrt(2) * (1 - I) / 2, 0]]
        ),
        "invrc2b": Matrix([[0, sqrt(2) * (1 - I) / 2], [sqrt(2) * (-1 - I) / 2, 0]]),
    },
}

Dic2_irreps = {
    "A_1": {
        "iden": Matrix([[1]]),
        "c2e": Matrix([[1]]),
        "riden": Matrix([[1]]),
        "rc2e": Matrix([[1]]),
        "invc2x": Matrix([[1]]),
        "invc2f": Matrix([[1]]),
        "invrc2x": Matrix([[1]]),
        "invrc2f": Matrix([[1]]),
    },
    "A_2": {
        "iden": Matrix([[1]]),
        "c2e": Matrix([[1]]),
        "riden": Matrix([[1]]),
        "rc2e": Matrix([[1]]),
        "invc2x": Matrix([[-1]]),
        "invc2f": Matrix([[-1]]),
        "invrc2x": Matrix([[-1]]),
        "invrc2f": Matrix([[-1]]),
    },
    "B_1": {
        "iden": Matrix([[1]]),
        "c2e": Matrix([[-1]]),
        "riden": Matrix([[1]]),
        "rc2e": Matrix([[-1]]),
        "invc2x": Matrix([[-1]]),
        "invc2f": Matrix([[1]]),
        "invrc2x": Matrix([[-1]]),
        "invrc2f": Matrix([[1]]),
    },
    "B_2": {
        "iden": Matrix([[1]]),
        "c2e": Matrix([[-1]]),
        "riden": Matrix([[1]]),
        "rc2e": Matrix([[-1]]),
        "invc2x": Matrix([[1]]),
        "invc2f": Matrix([[-1]]),
        "invrc2x": Matrix([[1]]),
        "invrc2f": Matrix([[-1]]),
    },
    "G": {
        "iden": Matrix([[1, 0], [0, 1]]),
        "c2e": Matrix(
            [[-sqrt(2) * I / 2, -sqrt(2) / 2], [sqrt(2) / 2, sqrt(2) * I / 2]]
        ),
        "riden": Matrix([[-1, 0], [0, -1]]),
        "rc2e": Matrix(
            [[sqrt(2) * I / 2, sqrt(2) / 2], [-sqrt(2) / 2, -sqrt(2) * I / 2]]
        ),
        "invc2x": Matrix([[0, -I], [-I, 0]]),
        "invc2f": Matrix(
            [[sqrt(2) * I / 2, -sqrt(2) / 2], [sqrt(2) / 2, -sqrt(2) * I / 2]]
        ),
        "invrc2x": Matrix([[0, I], [I, 0]]),
        "invrc2f": Matrix(
            [[-sqrt(2) * I / 2, sqrt(2) / 2], [-sqrt(2) / 2, sqrt(2) * I / 2]]
        ),
    },
}

Dic3_irreps = {
    "A_1": {
        "iden": Matrix([[1]]),
        "c3delta": Matrix([[1]]),
        "c3delta^-1": Matrix([[1]]),
        "riden": Matrix([[1]]),
        "rc3delta": Matrix([[1]]),
        "rc3delta^-1": Matrix([[1]]),
        "invc2f": Matrix([[1]]),
        "invc2d": Matrix([[1]]),
        "invc2b": Matrix([[1]]),
        "invrc2f": Matrix([[1]]),
        "invrc2d": Matrix([[1]]),
        "invrc2b": Matrix([[1]]),
    },
    "A_2": {
        "iden": Matrix([[1]]),
        "c3delta": Matrix([[1]]),
        "c3delta^-1": Matrix([[1]]),
        "riden": Matrix([[1]]),
        "rc3delta": Matrix([[1]]),
        "rc3delta^-1": Matrix([[1]]),
        "invc2f": Matrix([[-1]]),
        "invc2d": Matrix([[-1]]),
        "invc2b": Matrix([[-1]]),
        "invrc2f": Matrix([[-1]]),
        "invrc2d": Matrix([[-1]]),
        "invrc2b": Matrix([[-1]]),
    },
    "F_1": {
        "iden": Matrix([[1]]),
        "c3delta": Matrix([[-1]]),
        "c3delta^-1": Matrix([[-1]]),
        "riden": Matrix([[-1]]),
        "rc3delta": Matrix([[1]]),
        "rc3delta^-1": Matrix([[1]]),
        "invc2f": Matrix([[I]]),
        "invc2d": Matrix([[I]]),
        "invc2b": Matrix([[I]]),
        "invrc2f": Matrix([[-I]]),
        "invrc2d": Matrix([[-I]]),
        "invrc2b": Matrix([[-I]]),
    },
    "F_2": {
        "iden": Matrix([[-1]]),
        "c3delta": Matrix([[1]]),
        "c3delta^-1": Matrix([[-1]]),
        "riden": Matrix([[1]]),
        "rc3delta": Matrix([[-1]]),
        "rc3delta^-1": Matrix([[1]]),
        "invc2f": Matrix([[-I]]),
        "invc2d": Matrix([[-I]]),
        "invc2b": Matrix([[-I]]),
        "invrc2f": Matrix([[-I]]),
        "invrc2d": Matrix([[-I]]),
        "invrc2b": Matrix([[-I]]),
    },
    "E": {
        "iden": Matrix([[1, 0], [0, 1]]),
        "c3delta": Matrix([[-S(1) / 2, sqrt(3) / 2], [-sqrt(3) / 2, -S(1) / 2]]),
        "c3delta^-1": Matrix([[-S(1) / 2, -sqrt(3) / 2], [sqrt(3) / 2, -S(1) / 2]]),
        "riden": Matrix([[1, 0], [0, 1]]),
        "rc3delta": Matrix([[-S(1) / 2, sqrt(3) / 2], [-sqrt(3) / 2, -S(1) / 2]]),
        "rc3delta^-1": Matrix([[-S(1) / 2, -sqrt(3) / 2], [sqrt(3) / 2, -S(1) / 2]]),
        "invc2f": Matrix([[S(1) / 2, -sqrt(3) / 2], [-sqrt(3) / 2, -S(1) / 2]]),
        "invc2d": Matrix([[S(1) / 2, sqrt(3) / 2], [sqrt(3) / 2, -S(1) / 2]]),
        "invc2b": Matrix([[-1, 0], [0, 1]]),
        "invrc2f": Matrix([[S(1) / 2, -sqrt(3) / 2], [-sqrt(3) / 2, -S(1) / 2]]),
        "invrc2d": Matrix([[S(1) / 2, sqrt(3) / 2], [sqrt(3) / 2, -S(1) / 2]]),
        "invrc2b": Matrix([[-1, 0], [0, 1]]),
    },
    "G": {
        "iden": Matrix([[1, 0], [0, 1]]),
        "c3delta": Matrix(
            [[S(1) / 2 - I / 2, -S(1) / 2 - I / 2], [S(1) / 2 - I / 2, S(1) / 2 + I / 2]]
        ),
        "c3delta^-1": Matrix(
            [[S(1) / 2 + I / 2, S(1) / 2 + I / 2], [-S(1) / 2 + I / 2, S(1) / 2 - I / 2]]
        ),
        "riden": Matrix([[-1, 0], [0, -1]]),
        "rc3delta": Matrix(
            [[-S(1) / 2 + I / 2, S(1) / 2 + I / 2], [-S(1) / 2 + I / 2, I * (-1 + I) / 2]]
        ),
        "rc3delta^-1": Matrix(
            [[-S(1) / 2 - I / 2, -S(1) / 2 - I / 2], [S(1) / 2 - I / 2, -S(1) / 2 + I / 2]]
        ),
        "invc2f": Matrix(
            [[sqrt(2) * I / 2, -sqrt(2) / 2], [sqrt(2) / 2, -sqrt(2) * I / 2]]
        ),
        "invc2d": Matrix(
            [[-sqrt(2) * I / 2, sqrt(2) * I / 2], [sqrt(2) * I / 2, sqrt(2) * I / 2]]
        ),
        "invc2b": Matrix([[0, sqrt(2) * (1 - I) / 2], [sqrt(2) * (-1 - I) / 2, 0]]),
        "invrc2f": Matrix(
            [[-sqrt(2) * I / 2, sqrt(2) / 2], [-sqrt(2) / 2, sqrt(2) * I / 2]]
        ),
        "invrc2d": Matrix(
            [[sqrt(2) * I / 2, -sqrt(2) * I / 2], [-sqrt(2) * I / 2, -sqrt(2) * I / 2]]
        ),
        "invrc2b": Matrix([[0, sqrt(2) * (-1 + I) / 2], [sqrt(2) * (1 + I) / 2, 0]]),
    },
}
